Автор: cheops (10.12.2011 в 18:23)
Можно начать отталкиваться от следующей программы
#include <stdio.h>
#include <iostream>
using namespace std;
// Прототип функции
int is_isbyt_number(int);
// Главная функция
int main()
{
int i = 0;
// Флаги для прекращения поиска
int flgodd = 0, flgeven = 0;
do
{
i++;
if(is_isbyt_number(i))
{
if(i % 2 && flgodd == 0)
{
// Нечетное число
flgodd++;
cout << "Первое нечетное избыточное число - " << i << endl;
}
if(!(i % 2) && flgeven < 2)
{
// Четное число
flgeven++;
if(flgeven == 1) cout << "Первое четное избыточное число - " << i << endl;
if(flgeven == 2) cout << "Второе четное избыточное число - " << i << endl;
}
}
}
while(flgeven < 2 || flgodd < 1);
// Пауза перед закрытием
system("PAUSE");
return 0;
}
// Является ли число избыточным?
int is_isbyt_number(int number)
{
int i = 1, total = 0;
if(number <= 0) return 0;
for(i = 1; i <= number; i++)
{
if(!(number % i)) total += i;
}
if(total > 2 * number) return 1;
else return 0;
} |