diff --git a/gcd.py b/gcd.py index 5880a5b..3192995 100644 --- a/gcd.py +++ b/gcd.py @@ -1,17 +1,26 @@ # Wrong gcd find 5 mistakes def gcd(a, b): - assert a <= 0 and b >= 0 + assert a >= 0 and b >= 0 while a and b: if a > b: - a = a / b + if a % b == 0: + return b + else: + a = a % b else: - b = b / a - return min(a, b) + if b % a == 0: + return a + else: + b = b % a + return a + b +print ('result: ',gcd(10, 0)) +print ('result: ',gcd(123, 3)) +print ('result: ',gcd(10000000, 64)) +print ('result: ',gcd(0, 0)) # Examples - -# gcd(10, 0) => 10 -# gcd(123, 3) => 3 -# gcd(1000000, 64) => 64 -# gcd(0, 0) => 0 +#gcd(10, 0) #=> 10 +#gcd(123, 3) #=> 3 +#gcd(1000000, 64) #=> 64 +#gcd(0, 0) #=> 0