Олимпиадный тренинг

Задача . L3-T8. Количество звёздочек: две процедуры на четырёх языках


Задача

Темы:

Ниже на четырёх языках программирования записаны две взаимно рекурсивные процедуры 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})?


Статистика успешных решений по компиляторам
Комментарий учителя