Найти совершенные числа в интервале от 1 до n

Санёк228

Найти совершенные числа в интервале от 1 до n. Совершенное число - натуральное число, равное сумме всех своих собственных делителей (т. е. всех положительных делителей, отличных от самого числа).Ввод с консоли. Вводится одно целое число.Ограничения: 1≤n≤10000 время работы программы не более 3 с.Вывод в консоль целых чисел, являющихся совершенными. Спасибо
1 ответ

Санёк228

#include <stdbool.h>
 
bool is_perfect(int n)
{
    int sum = 0;
    for( int i = 1; i < n; ++i ) {
        if( n % i == 0 ) {
            sum += i;
        }
    }
    return sum == n;
}