Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.
Бейсик |
Python |
DECLARE SUB F(n)
DECLARE SUB G(n)
SUB F(n)
IF n > 0 THEN G(n - 2)
END SUB
SUB G(n)
PRINT "*"
IF n > 1 THEN F(n - 1)
END SUB |
def F(n):
if n > 0:
G(n - 2)
def G(n):
print("*")
if n > 1:
F(n - 1)
|
Алгоритмический язык |
Паскаль |
алг F(цел n)
нач
если n > 0 то
G(n - 2)
все
кон
алг G(цел n)
нач
вывод "*"
если n > 1 то
F(n - 1)
все
кон |
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
if n > 0 then
G(n - 2);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then
F(n - 1);
end; |
Си |
void F(int n);
void G(int n);
void F(int n){
if (n > 0)
G(n - 2);
}
void G(int n){
printf("*");
if (n > 1)
F(n - 1);
} |
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(12)?