Задача к ЕГЭ по информатике на тему «рекурсия» №2

Ниже на трех языках программирования записана рекурсивная функция (процедура) F  .

|------------------------|---------------|--------------------| |Pascal                  |Python         |C                   | |procedure-F(n:-integer);|def-F(n-):-----|void-F-(int-n)-{------| |                        |               |                    | |begin                   |   print(n )    |  printf(”%d ” ,n); | |  write(n);             |   if n > 4:    |  if (n > 4 ) {     | |  if n > 4 then         |     F (n −  3) |    F (n − 3);      | |  begin                 |     F (n −  2) |    F (n − 2);      | |     F(n − 3);          |               |  }                 | |                        |               |                    | |     F(n − 2);          |               |}                   | |  end;                  |               |                    | -end.———————————————————-  » class=»math-display» width=»auto»></center> Что выведет программа при вызове <img decoding=? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

Рассмотрим последовательно, что будет выводится на экран, начиная с F (1)  . Пока n ≤ 4  другие функции вызываться не будут. С помощью стрелочки → обозначим печать числа на экране.

F(1) →  1  ; F (2 ) → 2  ; F (3) → 3  ; F (4) → 4  .

Далее при n > 4  » class=»math» width=»auto»> дополнительно будут вызываться функции. Мы будем возвращаться каждый раз к предыдущим значениям и добавлять числа в последовательность: </p>
<p class= F(5) →  5  ;

→  F (2) → 2  ;

→  F (3) → 3  .

F(6) →  6  ;

→  F (3) → 3  ;

→  F (4) → 4  .

F(7) →  7  ;

→  F (4) → 4  ;

→  F (5) → 523  .

Следовательно, итоговая последовательность →  74523  .

Ответ: 74523
Оцените статью
Я решу все!