如何在Python中找到1000以下3或5的所有倍数的和?

不知道我是否应该将其发布在math.stackexchange上,但是它包含更多的编程功能,因此我将其发布在这里。

这个问题似乎很简单,但我现在在这里已经坐了至少一个小时,还没弄清楚。我尝试了不同的解决方案,并为其阅读了数学公式,但是在编写代码时,它给我的答案不正确!我为此提出了两种不同的解决方案,都给了我错误的答案。第一个解决方案给我265334,而第二个解决方案给我232169。答案为233168,因此第二个解决方案更接近。

我应该提到这是来自Euler项目的一个问题,这是第一个确切的问题。

这是我的代码。有什么想法吗?

nums = [3, 5]

max = 999

result = 0

for num in nums:

for i in range(1,max):

if num*i < max:

result += num*i

print result

result = 0

for i in range(0,max):

if i%3 == 0 or i%5 == 0:

result += i

print result

回答:

range(k,max)不包含max,因此您实际上要检查并包含998(而999是3的倍数)。使用range(1,1000)代替。

以上是 如何在Python中找到1000以下3或5的所有倍数的和? 的全部内容, 来源链接: utcz.com/qa/418105.html

回到顶部