我在Python中创建了一个简单的递归阶乘函数。目前,我的电脑可以计算大约10000个阶乘。对于高于此值的值,python.exe只是停止工作。你知道吗
所以,我的问题是:如果我想处理更大的阶乘,有什么方法可以做到这一点(通过使用多个核等)?还是仅仅是Python的极限?我已经检查过使用GPU来编写Python脚本,但是这个方法对于我的想法来说似乎很复杂。你知道吗
我已经将递归限制设置为100000,所以这应该不是问题所在。你知道吗
这是我的密码:
import sys, time
sys.setrecursionlimit(100000)
def f(n):
if n==0:
return 1
else:
return n*f1(n-1)
谢谢你的帮助
我认为主要的问题是调用堆栈,如果不在阶乘上使用尾部递归,堆栈将被填充。我认为那篇文章对你有用。你知道吗
What is tail recursion?
你可以用函数工具.reduce. 你知道吗
相关问题 更多 >
编程相关推荐