Ниже записаны две рекурсивные процедуры, F и G:
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
writeln('*');
if n > 0 then
G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then
F(n - 2);
end;
Сколько символов «звёздочка» будет напечатано на экране при выполнении
вызова F(13)?
vunderkid:
При вызове F(13) будет напечатано 10 звёздочек. При вызове F(25000) будет напечатано 16668 звёздочек.
Ответы
Ответ дал:
2
//полный код
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
writeln('*');
if n > 0 then
G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then
F(n - 2);
end;
begin
F(13);
end.
Вывод
*
*
*
*
*
*
*
*
*
*
походу 10 звездочек
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
writeln('*');
if n > 0 then
G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then
F(n - 2);
end;
begin
F(13);
end.
Вывод
*
*
*
*
*
*
*
*
*
*
походу 10 звездочек
Вас заинтересует
1 год назад
1 год назад
2 года назад
8 лет назад