Задача к ЕГЭ по информатике на тему «одна функция» №2

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

F (n) = 0  при n ≤ 5  ;

F (n) = F(n − 5) +(n + 3)∕2  , если n > 5  » class=»math» src=»/images/inform/quest/quest-4759-6.svg» width=»auto»> и при этом n нечётно; </p>
<p class= F (n) = 2⋅F (n − 5)+ 2  , если n > 5  » class=»math» src=»/images/inform/quest/quest-4759-8.svg» width=»auto»> и при этом n чётно. </p>
<p class= Чему равно значение функции (F (6)+ F(8)+ F(10))∕F(9)+ F(7)  ?

Решение программой:

def f(n):
    if n <= 5:
        return 0
    if n > 5 and n % 2 == 1:
        return f(n - 5) + (n + 3)/2
    if n > 5 and n % 2 == 0:
        return 2*f(n - 5) + 2
print((f(6) + f(8) + f(10))/f(9) + f(7))

Решение «руками»:

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

F (1) = F(2) = F (3) = F (4) = F(5) = 0

F (6) = 2⋅F(1)+ 2 = 2

F (7) = F(1)+ 5 = 5

F (8) = 2⋅F(3)+ 2 = 2

F (9) = F(4)+ 6 = 6

F (10) = 2⋅F(5)+ 2 = 2

(F(6)+ F (8)+ F (10))∕F(9)+ F (7) = (2 + 2+ 2)∕6+ 5 = 6

Ответ: 6
Оцените статью
Я решу все!