Дано натуральное число n. Получить все совершенные числа, меньшие n - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Натуральное число называется совершенным, если оно равно сумме всех своих делителей, за исключением себя самого. Число 6 - совершенное, так как 6=1+2+3. Число 8 - не совершенное, так как 8 не равно 1+2+4. Дано натуральное число n. Получить все совершенные числа, меньшие n. Среда программирования - Visual C++ 2008.

Решение задачи: «Дано натуральное число n. Получить все совершенные числа, меньшие n»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
 
void main()
{
    int n;
 
    printf("n: ");
    scanf("%d",&n);
    for(int i=6;i<n;i++)
    {
        int sum=1;
        for(int j=2;j<=i/2;j++)
        if(i%j==0)sum+=j;
        if(sum==i) printf("%d\n",i);
    }
    getch();
}

Объяснение кода листинга программы

Код считывает натуральное число n с помощью функции scanf. С помощью цикла for перебирает все числа от 6 до n-1. Для каждого числа i из этого диапазона:

  • Инициализирует переменную sum равной 1.
  • С помощью вложенного цикла for перебирает все числа от 2 до i/2.
  • Если i делится без остатка на какое-либо из этих чисел, то прибавляет его к sum.
  • Если sum равно i, то выводит i на экран с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы