diff --git a/C/projecteuler.c b/C/projecteuler.c index e9076c6..277eead 100644 --- a/C/projecteuler.c +++ b/C/projecteuler.c @@ -33,16 +33,10 @@ int is_prime(long int num) long int gcd(long int a, long int b) { - long int tmp; - - while(b != 0) - { - tmp = b; - b = a % b; - a = tmp; - } - - return a; + if(b == 0) + return a; + else + return gcd(b, a%b); } long int lcm(long int a, long int b) diff --git a/Python/projecteuler.py b/Python/projecteuler.py index f381509..f0ec791 100644 --- a/Python/projecteuler.py +++ b/Python/projecteuler.py @@ -19,12 +19,10 @@ def is_prime(num): return 1 def gcd(a, b): - while b != 0: - tmp = b - b = a % b - a = tmp + if b == 0: + return a - return a + return gcd(b, a%b) def lcm(a, b): return a * b // gcd(a, b)