您的位置:首页 > 理论基础 > 计算机网络

https://projecteuler.net/problem=1

2016-02-14 13:52 615 查看
自己做题玩

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.

#最笨的办法,直接去算

</pre><pre name="code" class="python">def sum_multiples():
sum_m = 0
for i in range(3,1000):
if i % 3 == 0 or i % 5 == 0:
sum_m += i
return sum_m

print(sum_multiples())


或者

3 *(1+... + 333) = 3的倍数和

5 * (1+...+199) = 5的倍数和

15 * (1 + ... 66) = 15的倍数和

target = 999
def sumDivisibleBy(n):
p = target // n
return n * p * (p + 1) / 2

print(sumDivisibleBy(3) + sumDivisibleBy(5) - sumDivisibleBy(15))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: