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


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

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

 

Бей­сикPython

DECLARE SUB F(n)

SUB F(n)

    IF n > 0 THEN

        PRINT n

        F(n - 3)

        F(n \ 3)

    END IF

END SUB

def F(n):

    if n > 0:

        print(n)

        F(n - 3)

        F(n // 3)

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

procedure F(n: integer);

begin

    if n > 0 then begin

        writeln(n);

        F(n - 3);

        F(n div 3)

    end

end;

алг F(цел n)

нач

    если n > 0 то

        вывод n, нс

        F(n - 3)

        F(div(n, 3))

    все

кон

Си++

void F(int n) {

    if (n > 0) {

        std: :cout << n;

        F(n - 3);

        F(n / 3);

    }

}

 

 

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

Ре­ше­ние.

Про­мо­де­ли­ру­ем ра­бо­ту ал­го­рит­ма, не вы­пи­сы­вая F с ар­гу­мен­том мень­ше трёх.

F(9)

   F(6)

       F(3)

          F(0)

          F(1)

            F(-2)

       F(2)

         F(-1)

         F(0)

   F(3)

      F(0)

      F(1)

 

 

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

 

Ответ: 9631231.

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ—2018 по информатике.