pgcd:=proc(x,y) local a,b,r: a:=x: b:=y: while (b>0) do r:=irem(a,b): a:=b: b:=r: od: RETURN(a): end:
-Version récursive :
pgcd:=proc(a,b) if (b=0) then RETURN(a) else RETURN(pgcd(b,irem(a,b))): fi: end: