Ниже на четырёх языках программирования записаны две взаимно рекурсивные процедуры F и G.
Python
def F(n):
if n > 0:
print('*')
G(n - {1})
def G(n):
if n > 0:
print('*')
print('*')
F(n - {2})
G(n - {3})
C++
void G(int n);
void F(int n) {
if (n > 0) {
cout << '*';
G(n - {4});
}
}
void G(int n) {
if (n > 0) {
cout << '*';
cout << '*';
F(n - {5});
G(n - {6});
}
}
Паскаль
procedure G(n: integer); forward;
procedure F(n: integer);
begin
if n > 0 then begin
write('*');
G(n - {7})
end
end;
procedure G(n: integer);
begin
if n > 0 then begin
write('*');
write('*');
F(n - {8});
G(n - {9})
end
end;
1С
Процедура F(Н)
Если Н > 0 Тогда
Сообщить("*");
G(Н - {10});
КонецЕсли;
КонецПроцедуры
Процедура G(Н)
Если Н > 0 Тогда
Сообщить("*");
Сообщить("*");
F(Н - {11});
G(Н - {12});
КонецЕсли;
КонецПроцедуры
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F({13})?