Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: