Skip to content

Instantly share code, notes, and snippets.

@james-prado
Created April 24, 2017 21:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save james-prado/4afa2af1b81b441c17fa2daeedd02667 to your computer and use it in GitHub Desktop.
Save james-prado/4afa2af1b81b441c17fa2daeedd02667 to your computer and use it in GitHub Desktop.
Project Euler Question 1
# 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.
class Multiples:
def __init__(self, num, min, max):
self.__num = num
self.__min = self.round_step(min)
self.__max = max
def round_step(self, min):
while(min%self.__num != 0):
min += 1
return min
def multiples(self):
return range(self.__min, self.__max, self.__num)
three = Multiples(3, 1, 1000)
five = Multiples(5, 1, 1000)
print(reduce(lambda x,y: x+y, list(set(three.multiples()+five.multiples()))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment