Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2012, 06:20   #11
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Хорошо, я попробую себя перебороть.
Fatalita вне форума Ответить с цитированием
Старый 30.05.2012, 06:26   #12
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

У вас значение "совершенного числа" совпадает со значением в Википедии, и код, который я привел не для вас.
Вот программа для вас:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, math;
var
    A: array[1..100] of Int64;
    max_k,k,n,i: Integer;

function number_perfect(var n:int64):boolean;
var i,k:int64;
begin
   result:=false;
   if n<6 then exit;
   if n=6 then
   begin
     result:=true;
     exit;
   end;
   k:=1;
   i:=3;
   repeat
     k:=k+round(power(i,3));// возводим в кубическую степень
     i:=i+2;
   until k>=n;
   if n=k then result:=true;
end;

begin
  { TODO -oUser -cConsole Main : Insert code here }
  write('n=');
  Readln(n);
  k:=0;
  max_k:=0;
  for i:=1 to n do
    begin
      write('A[',i,']=');
      Readln(A[i]);
      if number_perfect(A[i]) then// если число совершенное, то
      begin
        k:=k+1;// увеличить счетчик текущей последовательности сов.чисел
        if k>max_k then// если счетчик текущей последовательности больше макс.
        // найденной последовательности, то
        max_k:=k;
      end
      else// иначе
      k:=0;// сбросить в ноль счетчик текущ. последовательности
    end;
  // выводим максим. найденную последовательность
  writeln('maximum sequence perfect number=',max_k);
  readln;
end.
Вычисление совершенных чисел основано на 2 утвержднениях из Википедии:
1)Нечётных совершенных чисел до сих пор не обнаружено, однако не доказано и то, что их не существует. Неизвестно также, бесконечно ли множество всех совершенных чисел.
2)Все чётные совершенные числа (кроме 6) являются суммой кубов последовательных нечётных натуральных чисел: (1^3+3^3+5^3+........).
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 30.05.2012, 06:31   #13
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию

Благодарю ^^
Fatalita вне форума Ответить с цитированием
Старый 30.05.2012, 06:34   #14
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Mad_Cat, твоя функция более лаконична, но работать будет медленнее.
ТС, можете использовать любую функцию нахождения сов.числа, а дальше использовать то, что написано в теле программы.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и функции. Делфи7. Fatalita Помощь студентам 1 28.05.2012 20:47
Функции. Массивы. Делфи7. Что не так? Fatalita Помощь студентам 2 09.05.2012 20:24
процедуры и функции stud3nt Паскаль, Turbo Pascal, PascalABC.NET 6 02.07.2010 14:11
процедуры и функции stud3nt Паскаль, Turbo Pascal, PascalABC.NET 7 30.06.2010 19:14