Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Рекурсия, Delphi (http://www.tehnari.ru/f41/t78796/)

NataliK1991 28.09.2012 13:15

Рекурсия, Delphi
 
Натуральное число М называется совершенным, если оно равно сумме всех своих делителей, включая 1, но исключая себя. Напечатать все совершенные числа, меньшие заданного числа N. Код с применением циклов переделать на рекурсию..
У меня чет не выходит.
Код:

program Sovershennye_chisla;
{$APPTYPE CONSOLE}
uses  SysUtils;
var N: word;
      i, j, k, s: integer; 
begin 
write (‘Vvedite cheloe pologitelnoe chislo N=’);
readln (N);
k:=0;
i:=1;
while i<N do
        begin
          s:=0;
        for j:=1 to i div 2 do
                  if i mod j=0 then s:=s+j;
                          begin
                          write(i,' ');
                          k:=1;
                  end;
i:=i+1;
        end;
if  k=0 then write ('Sovershennyh chisel net');
end.


Gruvi 28.09.2012 13:33

почему ты использовал while для рекурсии???
вот допустим программа для нахождения факториала
Цитата:

procedure TfmExample.bbRunClick(Sender: TObject);
function Factorial(N: Word): Extended;
begin
if N = 0 then
Result: = 1 else
Result := N * Factorial(N - 1)
end;
var
N: Integer;
begin
try
N := StrToInt(Trim(edinput.Text));
except
Exit; end;
IbOutput.Caption := FloatToStr(Factorial(N))
end;
а вообще советую посмотреть вот это сайт , сам им пользуюсь не первый год уже.

NataliK1991 28.09.2012 15:24

Спасибо, попробую еще


Часовой пояс GMT +4, время: 05:03.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.