我对Python和一般编程都是新手,所以如果有人能给初学者给予非常友好的帮助,我会很有帮助的,我正试图得到质数的和,比如说50。
我使用了下面的代码,但它增加了额外的2对我的总和。例如,质数的总和高达50应该是326,但我得到328作为我的输出
upto = int(input("Find sum of prime numbers upto : "))
sum = 0
for num in range(2, upto + 1):
for i in range(2, num):
if (int(num % i) == 0):
break;
#If the number is prime then add it.
else:
sum += num
print("\nSum of all prime numbers upto", upto, ":", sum)
3条答案
按热度按时间disbfnqx1#
您的代码工作正常良好,"* 1到50之间的质数之和 "的答案是328而不是326,如果您对此仍有疑问,可以使用下面的代码检查您的结果:
说明: 给定一个范围
[l, r]
*,任务是求出该范围内所有质数的和。我在上面的代码中设置了你的范围,只需复制并粘贴代码到你的编辑器中并运行代码,你就会看到结果。
djmepvbi2#
有两个部分需要处理。一个是检查数字是否为质数。第二个是迭代数字的范围。请参考下面的代码,
你应该能拿到328
oxosxuxt3#
您好Sumit首先欢迎Stackoverflow:)
现在根据你的问题,50以内的质数之和只有328,而不是326。
但是如果你想要前50个奇质数的总和,那么你可以在你的代码中做一些小的改变,如下所示,这将给予你326****[这是奇质数的总和,直到范围50]