Дан рекурсивный алгоритм: procedure F(n: integer); begin writeln('*'); if n больше 0 then begin writeln('*'); F(n-2); F(n div 2); F(n div 2); end end; Сколько символов "звездочка" будет напечатано на экране при выполнении выз...
Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln('*');
if n>0 then begin
writeln('*');
F(n-2);
F(n div 2);
F(n div 2);
end
end; Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(7)?
Ответ(ы) на вопрос:
Гость
20 звезд.Можно легко проверить,переделав алгоритм.
var s:integer;
procedure F(n: integer);
begin
writeln('*');
if n>0 then begin
writeln('*');
s:=s+1;
F(n-2);
F(n div 2);
F(n div 2);
end;
end;
begin
f(7);
writeln(s);
end.
Не нашли ответ?
Похожие вопросы