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

Ниже на трёх языках программирования записан рекурсивный алгоритм F.

|--------------|----------------|-------------------------| |Python--------|C-+-+-----------|P-ascal------------------| |defF (n) :    |voidF (intn )    |procedureF  (n : integer );| |  ifn > 0 :   |{               |  begin                  | |              |                |                         | |    print(n)  |  if(n > 0)     |     if n > 0then         | |    F (n − 3) |  {             |       begin             | |    F (n − 2) |    cout < < n; |       writeln(n);       | |    F (n − 1) |    F (n − 3);  |       F (n −  3);        | |              |    F (n − 2);  |       F (n −  2);        | |              |                |                         | |              |    F (n − 1);  |       F (n −  1);        | |              |  }             |end                      | ----------------}----------------end-----------------------

Определите, что выведет программа при вызове функции F(4)? Цифры запишите в той последовательности, в которой они выводятся.

При вызове F (0 )  , F (− 1)  и F (− 2)  программа ничего не выведет. Пропишем весь алгоритм, начиная с F (1)  :
F (1) → 1F (− 2)F (− 1)F (0) = 1F (2) → 2F (− 1)F (0 )F (1) = 21F (3) → 3F (0)F (1)F (2 ) = 3121F (4) → 4F (1)F (2 )F (3) = 41213121

Программа вывела 41213121  , это — ответ на вопрос задачи.

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