@shiksheevi

Как исправит эту ошибку кода на питоне?

вот программка из егэ по информатике
вообще никак не могу понять с чем связана ошибка
помогите пожалуйста(
from math import factorial
def f(n):
    if n>=5000:
        return factorial (n)        
    else:
        return 2*f(n+1)/(n+1) 
print(f(7))
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Zzzz9
Вопрос имеет не один ответ, например так ошибки нет:
from math import factorial
# def f(n):
#     if n>=5000:
#         return factorial (n)
#     else:
#         return 2*f(n+1)/(n+1)

print(factorial(7))

5040
Ответ написан
Комментировать
@Medovochka
Для исправления этой ошибки можно добавить условие в функцию f, чтобы она останавливалась, когда n достигает значения 5000. Вот исправленный код:

from math import factorial

def f(n):
    if n >= 5000:
        return factorial(n)
    else:
        return 2 * f(n + 1) / (n + 1)

print(f(7))


Теперь функция f будет вызывать factorial(n), когда n >= 5000, и возвращать результат. В противном случае, она будет вызывать себя рекурсивно, увеличивая значение n на 1 на каждом шаге, пока не достигнет значения 5000.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы