СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


Задания
Версия для печати и копирования в MS Word
Задание 16 № 15627

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

 

БейсикPython

DECLARE SUB F(n)

SUB F (n)

    IF n > 0 THEN

        F(n \ 4)

        PRINT n

        F(n - 1)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n // 4)

        print(n)

        F (n - 1)

ПаскальАлгоритмический язык

procedure F(n: integer);

begin

    if n > 0 then

    begin

        F(n div 4);

        write(n);

        F(n - 1);

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(div(n, 4))

        вывод n

        F(n - 1)

    все

кон

Си++

void F(int n){

    if (n > 0){

        F(n / 4)

        std::cout << n;

        F(n - 1);

    }

}

 

 

В качестве ответа укажите последовательность цифр, которая будет напечатана на экране в результате вызова F(5).

Решение.

Моделируем работу алгоритма.

F(5):F(1):F(0)

               1

               F(0)

         5

         F(4):F(1):1

                  4

                  F(3):F(0)

                           3

                           F(2):F(0)

                                    2

                                    F(1)

                                    1

 

Таким образом, при выполнении вызова F(5) будут напечатаны числа 1514321.

 

Ответ: 1514321.

Источник: ЕГЭ — 2018. Досрочная волна. Вариант 1., ЕГЭ — 2018. Досрочная волна. Вариант 2.