对大量数据运行Python递归不会输出或引发异常

2024-09-30 08:14:58 发布

您现在位置:Python中文网/ 问答频道 /正文

import sys
sys.setrecursionlimit(10**8)

T = dict()

def downToZero(n):
    if n in T : return T[n]
    if n==1 : return 1
    T[n] = 1+downToZero(n-1)
    return T[n]

x = int(input())
print(downToZero(x))

这是代码,它适用于像1001000这样的数字,但是当您输入像10000这样的大数字时,控制台既不会给出输出,也不会抛出错误


Tags: 代码inimportinputreturnifdef错误
1条回答
网友
1楼 · 发布于 2024-09-30 08:14:58

您可能会得到如下结果:

Process finished with exit code -1073741571 (0xC00000FD)

错误代码0xC00000FD表示堆栈溢出

setrecursionlimit的最大递归级别设置为10**8实际上并不会改变对该数字的限制;可能的最高限值取决于平台(或更小)

相关问题 更多 >

    热门问题