НА С++
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным.
Входные данные
Входная строка содержит натуральное число N .
Выходные данные
Если число N – совершенное, программа должна вывести в одну строчку через пробел все делители этого числа, меньшие N . Если число несовершенное, программа должна вывести 0.
Примеры
входные данные
28
выходные данные
1 2 4 7 14
входные данные
29
выходные данные
0

Ответы

Ответ дал: Hn94
0

Объяснение:

#include <iostream>

#include <vector>

using namespace std;

int main()

{

int number = 0, sum = 0;

cout << "Number: ";

cin >> number;

vector <int> v;

if (number == 1)

{

cout << '1' << endl;

return 0;

}

for (int i = 1; i < number; i++)

{

if (number % i == 0)

{

sum += i;

v.push_back(i);

}

}

if (sum == number && !v.empty())

{

for (const auto& value : v)

{

cout << value << " ";

}

}

else

{

cout << '0';

}

return 0;

}

Вас заинтересует