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

Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ре­кур­сив­ный ал­го­ритм 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. До­сроч­ная волна. Ва­ри­ант 2
Раздел кодификатора ФИПИ: 1.5.3 Ин­дук­тив­ное опре­де­ле­ние объ­ек­тов