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

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

F(1)  =  1;

G(1)  =  1;

F(n)  =  F(n – 1) – G(n – 1), G(n) = F(n – 1) + G(n – 1) при n ≥ 2.

 

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

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

Ре­ше­ние.

По­сле­до­ва­тель­но на­хо­дим F(5) и G(5):

F(1)  =  1;

G(1)  =  1;

F(2)  =  1 − 1  =  0;

G(2)  =  1 + 1  =  2;

F(3)  =  0 − 2  =  −2;

G(3)  =  0 + 2  =  2;

F(4)  =  −2 − 2  =  −4;

G(4)  =  −2 + 2  =  0;

F(5)  =  −4 − 0  =  −4;

G(5)  =  −4 + 0  =  −4.

 

Таким об­ра­зом, F(5)/G(5)  =  1.

 

Ответ: 1.

 

При­ме­ча­ние. Ав­то­ры в усло­вии за­да­чи за­да­ют фор­му­лы для F(n) и G(n) при n > 2, но по усло­вию ясно, что эти зна­че­ния должы рас­счи­ты­вать­ся при n ≥ 2.

 

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

def F(n):

if n == 1:

return 1

if n >= 2:

return F(n - 1) - G(n - 1)

 

 

def G(n):

if n == 1:

return 1

if n >= 2:

return F(n - 1) + G(n - 1)

print(F(5) // G(5))

 

При­ведём ре­ше­ние Алек­сандра Коз­ло­ва на языке Python.

F = [0,1]

G = [0,1]

for n in range(2,6):

F.append(F[n - 1] - G[n - 1])

G.append(F[n - 1] + G[n - 1])

print(F[5] // G[5])

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