Цитата:
Сообщение от Asira
Помогите написать рекурсивную функцию без оператора for
Найти сумму: 1( в квадрате)+2(в квадрате)+4(в квадрате)+7(в квадрате)+11(в квадрате)… (n слагаемых)
Код:
function summa3(n:integer):integer;
var s,i,a:integer;
begin a:=1; s:=0; for i:=1 to n do
begin summa3:= summa3(n-1) +a*a;
a:=a+i;
end;end
;
|
Если вы имеете в виду написать вообще без циклов, то как мне кажется (могу ошибаться) это невозможно. Если это принцип против цикла for, можно использовать while, repeat, да даже лэйблы с переходами