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

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

F(1)  =  1;

F(2)  =  3;

F(n)  =  F(n−1) * F(n−2) + (n−2) при n > 2.

 

Чему равно зна­че­ние функ­ции F(5)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

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

Ре­ше­ние.

По­сле­до­ва­тель­но на­хо­дим:

F(3)  =  F(2) * F(1) + 1  =  4;

F(4)  =  F(3) * F(2) + 2  =  14;

F(5)  =  F(4) * F(3) + 3  =  59.

 

Ответ: 59.

 

При­ведём дру­гое ре­ше­ние на языке Python.

def F(n):

if n == 1:

return 1

if n == 2:

return 3

if n > 2:

return F(n-1) * F(n - 2) + n-2

print(F(5))

 

При­ведём ре­ше­ние Ни­ки­ты Пе­чу­ри­на на языке Python.

f = [0]*6

for n in range(1,6):

if n==1:

f[n]=1

if n==2:

f[n]=3

if n>2:

f[n]=f[n-1]*f[n-2]+(n-2)

print(f[5])

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