这是我的密码:
until=2000000
Prime=True
total=2
for i in range(3,until,2):
for t in range(3,i,2):
if i%t == 0 or i%2==0:
Prime=False
if Prime==True:
total+=i
elif Prime==False:
Prime=True
print(total)
它用来找出每一个素数的总和,直到二百万。这个数字可以调整,并在此之前找出每个素数的总和。(因此,如果是until=10,那么它将打印19 (2+3+5+7)。然而,我所使用的逻辑是非常无效的,因为质数序列或不序列查看每个数字,直到被要求的数字。是否有一种方法可以使Prime=False在任何时候都有方法停止"for t in range"?
发布于 2022-06-20 11:12:18
您可以使用break语句:
if (condition):
break;
break语句将强制控件退出循环。
发布于 2022-06-20 11:17:05
您可以删除elif语句,并且不需要放置i%2==0,因为您只检查奇数。
until=10
Prime=True
total=2
for i in range(3,until,2):
for t in range(3,i,2):
if i%t == 0:
Prime=False
if Prime==True:
total+=i
print(total)
https://stackoverflow.com/questions/72691829
复制相似问题