Интересная тема рекурсии и переполнения стека в классе сегодня, и я задавался вопросом, есть ли способ увеличить максимальную глубину рекурсии в Python? Написал функцию быстрого нахождения факториала п с помощью рекурсии:Как вы можете увеличить максимальную глубину рекурсии в Python?
def factorial(n):
if n == 1:
return n
else:
return n * factorial(n-1)
Он может справиться с факториала (994), но не факториал (995). Ошибка получили в жизни:
RuntimeError: maximum recursion depth exceeded in comparison
Очевидно, что более высокий факториала можно найти итеративно, но, ради аргумента и интриг, может максимальная глубина рекурсии быть увеличена?
https://docs.python.org/2/library/sys.html#sys.setrecursionlimit – freakish
Обратите внимание, что стандартный способ избежать слишком много рекурсии здесь использовать запоминание. –
Нет, здесь нет ненависти. Мы все здесь, чтобы помогать другим. Закрытие в качестве обмана не означает, что мы ненавидим вас. Все лучшее в будущем. –