Evklidov algoritem je učinkovit algoritem za izračun največjega skupnega delitelja dveh števil in ga označimo z gcd(a,b)
, kjer predpostavimo, da a >= b
. Na kratko ga lahko opišemo kot:
gcd(a,0) = a
- V nasprotem primeru zapišemo
a
kot:a = b*q + r
.gcd(a,b)
je v tem primeru enak kotgcd(b, r)
. Vidimo, da po nekaj časa bor = 0
in to bo končni rezultat.
Implementiraj funkcijo gcd(a,b)
, ki vrne največji skupni deljitelj števil a
in b
. Poskrbi, da bo funkcija delovala pravilno, tudi če uporabnik poda argumenta v poljubnam vrstnem redu.
Primeri: gcd(15, 5) = gcd(5, 15) = 5, gcd(1234, 23456), gcd(12, 56) = 4, gcd(14, 21) = 7