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

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

 

Бей­сикPython

SUB F(n)

    PRINT N

    IF n < 5 THEN

        F(n + 3)

        F(2 * n)

    END IF

END SUB

 

def F(n):

    print(n)

    if n < 5:

        F(n + 3)

        F(2 * n)

 

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

procedure F(n: integer);

begin

    write(n);

    if n < 5 then begin

        F(n + 3);

        F(2 * n)

    end

end;

 

алг F(цел n)

нач

    вывод n

    если n < 5 то

        F(n + 3)

        F(2 * n)

    все

кон

С++

void F(int n)

{

    std::cout << n;

    if (n < 5) {

        F(n + 3);

        F(2 * n);

    }

}

 

 

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

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

Ре­ше­ние.

Пер­вым дей­стви­ем про­це­ду­ра F(1) вы­ве­дет на экран число 1, после этого будет вы­зва­на про­це­ду­ра F(4), ко­то­рая вы­ве­дет на экран число 4 и вы­зо­вет про­це­ду­ры F(7) и F(8), ко­то­рые вы­ве­дут на экран числа 7 и 8 со­от­вет­ствен­но. Сле­ду­ю­щим шагом сво­е­го ал­го­рит­ма про­це­ду­ра F(1) вы­зо­вет про­це­ду­ру F(2), ко­то­рая вы­ве­дет на экран число 2 и вы­зо­вет про­це­ду­ру F(5), ко­то­рая вы­ве­дет на экран число 5. После этого про­це­ду­ра F(2) сле­ду­ю­щим шагом сво­е­го ал­го­рит­ма вы­зо­вет про­це­ду­ру F(4), ко­то­рая вы­ве­дет на экран число 4 и вы­зо­вет про­це­ду­ры F(7) и F(8), ко­то­рые вы­ве­дут на экран числа 7 и 8 со­от­вет­ствен­но.

 

Ответ: 147825478.

Раздел кодификатора ФИПИ: 1.5.3 Ин­дук­тив­ное опре­де­ле­ние объ­ек­тов