Напиши рекурсивную подпрограмму , которая вычисляет сумму S(n)=1+3+5+...+(2n-1)

0 голосов
58 просмотров

Напиши рекурсивную подпрограмму , которая вычисляет сумму S(n)=1+3+5+...+(2n-1)


Информатика (12 баллов) | 58 просмотров
Дан 1 ответ
0 голосов

Procedure s(n,ans:integer);
begin
if n<>0 then begin
ans:=ans+n+n-1;
s(n-1,ans);
end
else
writeln(ans);
end;
Вот пример всем программыprogram znanijatop;const null = 0;
procedure s(n,ans:integer);
begin
if n<>0 then begin
ans:=ans+n+n-1;
s(n-1,ans);
end
else
writeln(ans);
end;
var n:integer;

begin
writeln('vvedite n');
readln(n);
s(n,null);
end.


(4.4k баллов)
0

Но при первом вызове подпрограммы второй параметр должен быть обязательно равен 0