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.


In [1]:
from six.moves import range

Version 1: The obvious way


In [2]:
sum(filter(lambda x: x%3==0 or x%5==0, range(1000)))


Out[2]:
233168

Version 2: If you prefer list comprehensions


In [3]:
sum(x for x in range(1000) if x%3==0 or x%5==0)


Out[3]:
233168