Greatest common divisor: Difference between revisions

→‎=={{header|Python}}==: added Python language
(Ada example)
(→‎=={{header|Python}}==: added Python language)
Line 79:
return gcd(a, b % a);
}
 
=={{header|Python}}==
===Iterative===
def gcd_iter(u, v):
while v:
u, v = v, u % v
return abs(u)
 
===Recursive===
'''Interpreter:''' [[Python]] 2.5
[[Category:Python]]
def gcd(u, v):
return gcd(v, u % v) if v else abs(u)
 
===Tests===
>>> gcd(0,0)
0
>>> gcd(0, 10) == gcd(10, 0) == gcd(-10, 0) == gcd(0, -10) == 10
True
>>> gcd(9, 6) == gcd(6, 9) == gcd(-6, 9) == gcd(9, -6) == gcd(6, -9) == gcd(-9, 6) == 3
True
>>> gcd(8, 45) == gcd(45, 8) == gcd(-45, 8) == gcd(8, -45) == gcd(-8, 45) == gcd(45, -8) == 1
True
>>> gcd(40902, 24140) # check Knuth :)
34
Anonymous user