From f3bd132df2a0557b7ee5e060a798f2b6a19f7931 Mon Sep 17 00:00:00 2001 From: Daniele Fucini Date: Sat, 21 Sep 2019 09:32:44 +0200 Subject: [PATCH] Modify gcd function Made gcd function recursive --- C/projecteuler.c | 14 ++++---------- Python/projecteuler.py | 8 +++----- 2 files changed, 7 insertions(+), 15 deletions(-) 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)