import sys
num = long(raw_input("Enter the number for the factorial -> "))
sys.setrecursionlimit(num + 1)
def fact(n):
if n == 0 or n == 1:
return 1
else:
return (n * fact(n - 1))
print fact(long(num))
にエラーを与え、私は階乗見つけるために使用され、最大の再帰限界深さが「997」であるので、私が使用することを変更しようとしたコードである: -再帰制限は、上記の階乗関数で
インポートsysを
sys.setrecursionlimit()
ただし、それでもエラーが発生します。他に何ができますか?
上限を増やすことができます。実行されているPython関数だけでなくスタックに多くのものがあります。オーバーヘッドを追加する必要があります。 –
代わりに[反復解法](https://stackoverflow.com/questions/5136447/function-for-factorial-in-python)を使用してください。 – CoryKramer