Az euklideszi k\351t sz\341m legnagyobb k\366z\366s oszt\363j\341t hat\341rozza meg. Az algoritmus az NiMvNiQlImFHJSJiRzYkRiYtJSRtb2RHRiQ= \366sszef\374gg\351s egym\341s ut\341ni alkalmaz\341s\341val val\363sul meg. Ezt az \366sszef\374gg\351st addig alkalmazzuk, m\355g az egyik sz\341m 0 nem lesz, ekkor az NiMvNiQlImFHIiIhRiU= egyenl\365s\351g alkalmaz\341s\341val v\351ge az algoritmusnak.N\303\251zz\303\274k el\305\221sz\303\266r a rekurz\303\255v megval\303\263s\303\255t\303\241st:euklideszi:=proc(a,b)
# print(a,b);
if b=0 then return a;
else return euklideszi(b,a mod b);
end if;
end proc;euklideszi(18,21);Most a rekurz\303\255v megold\303\241s sem lass\303\272, mert a megold\303\241s nem \303\241gazik sz\303\251t. (Nem \303\272gy, mint a Fibonacci-sz\303\241mok el\305\221\303\241ll\303\255t\303\241s\303\241n\303\241l.)\311s most l\341ssuk az iterat\355v v\341ltozatot.a, b := 42, 67; # a k\351t sz\341m, aminek a legnagyobb k\366z\366s oszt\363j\341t sz\341m\355tjukprint(a,b);
while b>0 do
a, b := b, a mod b;
print(a,b);
end do:
a;Proced\372rak\351nt \355gy n\351z ki:euklideszi2:=proc(a2,b2)
local a,b;
a:=a2; b:=b2;
while b>0 do
a, b := b, a mod b;
end do:
a;
end proc;euklideszi2(42,67);