diff --git a/Project Euler/Problem 05/sol2.py b/Project Euler/Problem 05/sol2.py new file mode 100644 index 000000000..cd11437f3 --- /dev/null +++ b/Project Euler/Problem 05/sol2.py @@ -0,0 +1,20 @@ +#!/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) + +n = int(input()) +g=1 +for i in range(1,n+1): + g=lcm(g,i) +print(g)