如何在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