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


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

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

 

БейсикPython

SUB F (n)

    IF n > 0 THEN

        F(n − 1)

        PRINT n

        F(n \ 4)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n − 1)

        print(n)

        F (n // 4)

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

procedure F(n: integer);

begin

    if n > 0 then

    begin

        F(n − 1);

        write(n);

        F(n div 4);

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(n − 1)

        вывод n

        F(div(n, 4))

    все

кон

Си++

void F(int n){

    if (n > 0){

        F(n − 1)

        std::cout << n;

        F(n / 4);

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(5). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Решение.

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

F(5):F(4):F(3):F(2):F(1):F(0)

               1

               2

               3

               4

               F(1):1

         5

         F(1):1

 

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

 

Ответ: 1234151.

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