If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
在小于1000的自然数{0,1,2,3,4,~}中,将凡是3和5的倍数的自然数加和。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 # 1 2 maximum = 1000 3 summary = 0 4 for i in range(1,maximum): 5 if len([multiple for multiple in (3,5) if i % multiple == 0]): 6 summary += i 7 print summary 8 9 # 2 10 print sum(x for x in xrange(1000) if x%3==0 or x%5==0) 11 12 # 3 13 print sum(set(range(0,1000,3)+range(0,1000,5)))
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 maximum = 1000 2 summary = 0 3 multiples = {3,5} 4 5 for i= 1,maximum-1 do 6 for k,v in pairs(multiples) do 7 if i % v == 0 then 8 summary = summary + i 9 break 10 end 11 end 12 end 13 14 print(summary)