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

Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n  — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n)  =  1 при n  =  1;

F(n)  =  n + F(n − 1), если n чётно;

F(n)  =  2 × F(n − 2), если n > 1 и при этом n нечётно.

 

Чему равно зна­че­ние функ­ции F(26)?

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

Ре­ше­ние.

При­ведём ре­ше­ние за­да­чи на четырёх язы­ках про­грам­ми­ро­ва­ния:

 

Пас­каль

function F(N: integer): integer;

begin

    if n = 1 then F := 1

    else if n mod 2 = 0 then F := n + F(n-1)

    else F := 2 * F(n-2)

end;

begin

    writeln(F(26))

end.

Python

def F(n):

    if n == 1:

        return 1

    if n % 2 == 0:

        return n + F(n-1)

    if n>1 and n % 2 != 0:

        return 2 * F(n-2)

print(F(26))

С++

#include <iostream>

using namespace std;

int F(int n){

    if(n == 1) return 1;

    if(n % 2 == 0) return n + F(n-1);

    return 2 * F(n-2);

}

int main(){ std::cout << F(26);}

Ал­го­рит­ми­че­ский

алг цел F(цел n)

нач

выбор

при n =1 : знач:=1

при mod(n,2)=0 : знач:=n + F(n-1)

при n>1 и mod(n,2)=1 : знач:=2 * F(n-2)

все

кон

 

Ре­зуль­тат ра­бо­ты про­грамм  — 4122.

 

Ответ: 4122.

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