gpt4 book ai didi

python - 进程以 Python 中的退出代码 -1073741571 (0xC00000FD) 完成

转载 作者:行者123 更新时间:2023-12-04 14:13:24 25 4
gpt4 key购买 nike

我正处于学习 Python 的早期阶段。我尝试为较小的值计算阿克曼函数。它工作得很好,直到值为 (3,7)。任何高于该值(例如 3,8)的值都会引发此错误。
[进程完成,退出代码 -1073741571 (0xC00000FD)]
起初我检查是否达到了递归限制,但该过程在远低于设置的递归限制时停止(在这种情况下它被设置为最大值)

import sys
sys.setrecursionlimit(999999999)
count = 0
def cf():
global count
count+=1
cf()
def Ack(m,n):
if m==0:
x=n+1
cf()
return x
elif m>0 and n==0:
x=Ack(m-1,1)
cf()
return x
elif m>0 and n>0:
x=Ack(m-1,Ack(m,n-1))
cf()
return x
a,b=map(int,input("Enter values").split())
print(a,b)
result=Ack(a,b)
print(result)
print(count)

最佳答案

就这么简单,您会遇到堆栈溢出。
递归限制仅指示递归调用的深度,但不会改变堆栈大小。每次递归调用都会向堆栈添加帧,最终您会达到限制。
如果您真的想深入了解递归,则必须使用 threading.stack_size() 更改堆栈大小。并创建一个新线程。
相关问题:
Process finished with exit code -1073741571

关于python - 进程以 Python 中的退出代码 -1073741571 (0xC00000FD) 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62550606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com