From 49a33969e6f303eaa060a74092e95bc6f49f456c Mon Sep 17 00:00:00 2001 From: girijamanojkumarreddy Date: Thu, 22 Mar 2018 19:29:44 +0530 Subject: [PATCH] Added a Solution using Euclidean Algo --- Project Euler/Problem 05/sol2.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Project Euler/Problem 05/sol2.py 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)