Для вычисления значений функции F(n) до F(7) включительно, мы можем использовать рекурсию или динамическое программирование.
Рекурсивное решение:
def F(n): if n == 1 or n == 2: return 1 else: return F(n-1) + 2*F(n-2)
for i in range(1, 8): print("F(", i, ") =", F(i))
Результат: F(1) = 1 F(2) = 1 F(3) = 3 F(4) = 5 F(5) = 11 F(6) = 21 F(7) = 43
Динамическое программирование:
def F(n): if n == 1 or n == 2: return 1 else: fib = [0] * (n + 1) fib[1] = 1 fib[2] = 1 for i in range(3, n+1): fib[i] = fib[i-1] + 2*fib[i-2] return fib[n]
for i in range(1, 8): print("F(", i, ") =", F(i))
Результат: F(1) = 1 F(2) = 1 F(3) = 3 F(4) = 5 F(5) = 11 F(6) = 21 F(7) = 43
