#include <iostream>
#include <vector>
#include <conio.h>
using namespace std;
void main()
{
vector<int> div_mas;
int n;
cout << "Enter integer: ";
cin >> n;
for(int i = 1;i < n; ++i)
if(n%i == 0) div_mas.push_back(i);
int sum = 0;
for(int i = 0;i < div_mas.size(); ++i)
sum += div_mas;
if(sum == n) cout << "YES" << endl;
else cout << "NO" << endl;
_getch();
}
Совершенные числа
Является ли число совершенным или нет? Не могу составить код!
сцылка
Цитата:
Совершенное число́ (др.-греч. ἀριθμὸς τέλειος) — натуральное число, равное сумме всех своих собственных делителей (т. е. всех положительных делителей, отличных от
самого́ числа)
самого́ числа)
если это оно, то в чём проблема?
самый лобовой способ:
n - проверяемое число
divider_massiv - массив целочисленных делителей числа n
находим все целочисленные делители:
цикл i от 1 до (n-1)[INDENT]если остаток от деления n на i равен нулю
то добавить i в divider_massiv[/INDENT]
далее, суммировать все элементы divider_massiv
если сумма равна n, то n - совершенное число.
вот примерчик кода на С++, перевести на любой другой язык - дело 5 минут:
Код: