Python/project_euler/problem_05/sol2.py

21 lines
528 B
Python
Raw Normal View History

2018-10-19 12:48:28 +00:00
#!/bin/python3
'''
Problem:
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible(divisible with no remainder) by all of the numbers from 1 to N?
'''
""" Euclidean GCD Algorithm """
def gcd(x,y):
return x if y==0 else gcd(y,x%y)
""" Using the property lcm*gcd of two numbers = product of them """
def lcm(x,y):
return (x*y)//gcd(x,y)
2018-10-20 19:45:08 +00:00
n = int(input())
2018-10-19 12:48:28 +00:00
g=1
for i in range(1,n+1):
g=lcm(g,i)
print(g)