Python 3.x 有人能帮我弄一下戈德巴赫密码吗?当我调用函数,然后输入1000000时,它似乎没有输出任何输出,我不知道为什么?
我需要达到1000000,由于某种原因,它没有给我1000000的输出,我不知道我做错了什么。每次我输入一个小数字,比如500,它会给我正确的输出,但一旦我输入9999999或1000000,它就不会输出任何输出,当我进行键盘中断时,它会说它在中断时停止,但我需要中断,以便值只重复一次Python 3.x 有人能帮我弄一下戈德巴赫密码吗?当我调用函数,然后输入1000000时,它似乎没有输出任何输出,我不知道为什么?,python-3.x,Python 3.x,我需要达到1000000,由于某种原因,它没有给我1000000的输出,我不知道我做错了什么。每次我输入一个小数字,比如500,它会给我正确的输出,但一旦我输入9999999或1000000,它就不会输出任何输出,当我进行键盘中断时,它会说它在中断时停止,但我需要中断,以便值只重复一次 bachslst=[] primeslst=[] q=[] newlst=[] z=[] def goldbach(limit): primes = dict() for i in range(
bachslst=[]
primeslst=[]
q=[]
newlst=[]
z=[]
def goldbach(limit):
primes = dict()
for i in range(2, limit+1):
primes[i] = True
for i in primes:
factors = range(i, limit+1, i)
for f in factors[1:]:
primes[f] = False
for i in primes:
if primes[i]==True:
z.append(i)
for num in range(4,limit+1,2):
for k in range(len(z)):
for j in z:
if (k + j ) == num :
x=(str(k),str(j))
q.append(x)
newlst.append([x,[num]])
break
bachslst.append(num)
print(bachslst,'\n')
return newlst
所指的中断不是代码中的中断,而是由键盘中断引起的中断 如果你想在不到1.5小时内得到你的结果,试着减少你正在做的计算量。如果您进行搜索,有许多实现可用于测试哥德巴赫猜想。有些是其他语言的,但您仍然可以使用它们来影响您的算法
我没有看过它,但这里有另一个Python实现:Hi,欢迎使用SO。你需要阅读和阅读。目前,我们很难帮助你。我贴了一张照片,这样每个人都能看得更清楚。如果你读了我给你的链接,你就会知道为什么不赞成。这使得人们很难复制和粘贴代码以便运行它,也使得搜索引擎无法找到它。您等待输出多长时间了?至少三次min@arewn是的,我试着运行它,但它只会给我一些错误。我建议在其他地方寻找示例实现。它似乎是许多语言中相当常见的教学工具。即使您必须将代码从另一种语言移植到Python,这也是一种学习体验。当我让它运行时,您的代码最终返回,但结果似乎不正确。正如我所说的,我会再看一看实现。但要回答最初的问题,您的代码“在某种意义上”是有效的。它是完整的,而不是挂起的。您收到的中断消息与您的代码无关。