Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 2 при n < 3;
F(n) = 2*F(n-2)-F(n-1)+2, если n>2 и при этом n чётно;
F(n) = 2*F(n-1)+F(n-2)-2, если n>2 и при этом n нечётно.
Чему равно значение функции F(170)?
Ответ:
PRO100EGE 2024 #1 (kompege.ru) – задание №16
Решение:
Решение — Валеев Амир Ильнарович
|
1 2 3 4 5 6 7 8 9 10 11 |
from functools import lru_cache @lru_cache(None) def F(n): if n<=2: return 1 if n>2: return n*F(n-2) for i in range(2, 3000): F(i) print(F(3000)//F(2996)) |
ИЛИ
Ответ: 3596910688800