Алгоритм вычисления значения функции , где
– натуральное число, задан следующими соотношениями:
, если
, если
.
Чему равно значение выражения ?
Примечание. Факториал числа , который обозначается как
, вычисляется по формуле
.
Решение программой:
fact = [1]*7001
for i in range(1, 7001):
fact[i] = fact[i-1]*i
f = [-1]*7001
for i in range(7000, 1, -1):
if i >= 5000:
f[i] = fact[i]
else:
f[i] = 2 * f[i + 1] // (i + 1)
# print(f)
print(1000*f[7]/f[4])
Решение аналитически:
Поскольку числа слишком большие, то будем решать аналитикой. Для начала вычислим значения
Замечаем, что в общем виде вычисляется как
Вычислим требуемое и получим ответ.
Ответ: 26250