Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Совершенные числа

57K
17 мая 2010 года
Franzs
5 / / 19.04.2010
Является ли число совершенным или нет? Не могу составить код!
2.1K
17 мая 2010 года
Norgat
452 / / 12.08.2009
сцылка

Цитата:
Совершенное число́ (др.-греч. ἀριθμὸς τέλειος) — натуральное число, равное сумме всех своих собственных делителей (т. е. всех положительных делителей, отличных от
самого́ числа)



если это оно, то в чём проблема?


самый лобовой способ:
n - проверяемое число
divider_massiv - массив целочисленных делителей числа n

находим все целочисленные делители:
цикл i от 1 до (n-1)[INDENT]если остаток от деления n на i равен нулю
то добавить i в divider_massiv[/INDENT]
далее, суммировать все элементы divider_massiv
если сумма равна n, то n - совершенное число.

вот примерчик кода на С++, перевести на любой другой язык - дело 5 минут:

Код:
#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();
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог