Задания
Версия для печати и копирования в MS WordАлгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n × F(n − 1), если n > 1.
Чему равно значение выражения (F(3038 + 5 × F(3037)) / F(3036)?
Решение.
Приведём решение на языке Python.
from functools import *
@lru_cache(1000)
def f(n):
if n == 1:
return 1
if n > 1:
return n * f(n - 1)
return n * f(n - 1)
for n in range(1, 3038+1):
f(n)
print((f(3038) + 5 * f(3037)) // f(3036))
Ответ: 9241591.

