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



Ниже записаны две рекурсивные функции (процедуры): F и G.
Какова сумма чисел, напечатанных на экране при выполнении вызова F(19)?
 
Паскаль:

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
  writeln(n mod 2);
  if n mod 2 = 0 then F(n div 2) 
  else G((n - 1) div 2);
end;
 
procedure G(n: integer);
begin
  writeln (n); 
  if n > 0 then F(n);
end;
Бейсик:

DECLARE SUB F(n)
DECLARE SUB G(n)
SUB F(n)
  PRINT n MOD 2
  IF n MOD 2 = 0 THEN
     F(n \ 2)
  ELSE
     G ((n - 1) \ 2)
  END IF
END SUB
SUBG(n)
  PRINT n
  IF n > 0 THEN
     F(n)
  END IF
END SUB
Python:

def F(n):
  print(n % 2)
  if n % 2 == 0:
    F(n // 2)
  else:
    G((n - 1) // 2)
def G(n):
  print(n)
  if n > 0:
    F(n)
С++:

void F(int n) {
  std::cout << n % 2 << endl;
  if (n % 2 == 0) {
    F(n / 2);
  }
  else {
    G((n - 1) / 2) ;
  }
}
void G(int n) {
  std::cout << n << endl;
  if (n > 0)
    F(n);
}

✍ Решение:
 

Ответ: 16