НА С++
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 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;
}
Новые вопросы
Русский язык,
2 года назад
Русский язык,
2 года назад
Геометрия,
2 года назад
Английский язык,
2 года назад
Физика,
8 лет назад