gpt4 book ai didi

python - 在 Python 中寻找质数的无限重复错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:58:39 24 4
gpt4 key购买 nike

我输入一个 Python 程序来查找第 n 个素数。

def prime(a, b = 2):

def prime(a, b=2):
def gcd(x, y):
if (x % y == 0):
return y
else:
return gcd(x, y - 1)

if (gcd(b, b-1) > 1):
return prime(a, b+1)
elif (a - 1 > 0):
return prime(a-1, b+1)
else: return b

成功输出第94个质数为prime(94) --> 491。

然而,当我计算第 95 个素数时,我得到了一个无休止的重复错误输出。为什么会这样?感谢您的回答。

最佳答案

94 是 python 的最大递归深度。您可以增加最大递归深度,也可以使用迭代方法而不是当前的递归方法。需要明确的是,递归是指从内部调用函数。增加最大递归深度:

import sys

sys.setrecursionlimit(2000)

您应该能够自己想出一个迭代版本。希望对您有所帮助!

关于python - 在 Python 中寻找质数的无限重复错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33872613/

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