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

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

 

Бей­сикPython

SUB F(n)

    PRINT n,

    IF n >= 3 THEN

        F(n \ 2)

        F(n - 1)

    END IF

END SUB

def F(n):

    print(n, end='')

    if n >= 3:

        F(n // 2)

        F(n - 1)

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

procedure F(n: integer);

begin

    write(n);

    if n >= 3 then

    begin

        F(n div 2);

        F(n - 1)

    end

end;

алг F(цел n)

нач

    вывод n

    если n >= 3 то

        F(div(n, 2))

        F(n - 1)

    все

кон

Си++

void F(int n) {

    std::cout << n;

    if (n >= 3) {

        F(n / 2);

        F(n - 1);

    }

}

 

 

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

Спрятать решение

Ре­ше­ние.

Про­мо­де­ли­ру­ем ра­бо­ту ал­го­рит­ма:

F(5)

    F(2)

    F(4)

         F(2)

         F(3)

            F(1)

            F(2)

 

Таким об­ра­зом, по­лу­ча­ем ответ: 5242312.

 

Ответ: 5242312.

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2020 по ин­фор­ма­ти­ке
Раздел кодификатора ФИПИ: 1.5.3 Ин­дук­тив­ное опре­де­ле­ние объ­ек­тов