Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 28.09.2012, 13:15   #1 (permalink)
NataliK1991
Новичок
 
Регистрация: 28.09.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Рекурсия, 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.
NataliK1991 вне форума   Ответить с цитированием

Старый 28.09.2012, 13:15
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Ваша тема имеет сходства с данными топиками

DELPHI
Подпрограммы и рекурсия в Pascal ABC
Целое натуральное, рекурсия, Паскаль
Рекурсия

Старый 28.09.2012, 13:33   #2 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

почему ты использовал 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;
а вообще советую посмотреть вот это сайт , сам им пользуюсь не первый год уже.
Gruvi вне форума   Ответить с цитированием
Старый 28.09.2012, 15:24   #3 (permalink)
NataliK1991
Новичок
 
Регистрация: 28.09.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо, попробую еще
NataliK1991 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.