Решение задания 16 ЕГЭ (16.3) о рекурсивных функциях и процедурах; задание про две рекурсивные функции

16_3:

Ниже записаны две рекурсивные функции (процедуры): F и G.
Сколько символов «звездочка» будет напечатано на экране при выполнении вызова F(20)?
  
Паскаль:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure F(n: integer); forward; 
procedure G(n: integer); forward;
 
procedure F(n: integer); begin
  write ('*');
  if n > 10 then 
      F(n - 2) 
  else G(n); 
  end;
 
procedure G(n: integer); 
begin
  write ('**'); 
  if n > 1 then F(n - 3); 
end;
Бейсик:

DECLARE SUB F(n)
DECLARE SUB G(n)
SUB F(n)
  PRINT "*"
  IF n > 10 THEN
    F(n - 2)
  ELSE
    G (n)
END IF
END SUB 
SUB G(n)
  PRINT "**"
  IF n > 1 THEN
    F(n - 3)
  END IF
END SUB
Python:

def F(n):
  print("*")
  if n > 10:
    F(n - 2)
  else:
    G(n)
def G(n):
  print("**")
  if n > 1:
    F(n - 3)
С++:

void F(int n) {
  std::cout << "*";
  if (n > 10) {
    F(n - 2);
  }
  else {
    G(n);
  }
}
void G(int n) {
  std::cout << "**";
  if (n > 1)
    F(n - 3);
}

✍ Решение:
 

Ответ: 17