欧几里德算法:(正整数m,n)
1.【求余数】 以n除m,r为余数
2.【判读余数是否为0】如果r为0,则最大公因子是n
3.【减少】置m=n,n=r,重新执行算法(回到步骤1)
伪代码:
L1:r = m mod n (m=k*n+r,因此求m和n之间的最大公因子实际上是求r和n之间的最大公因子 )
if r == 0
return m
else
m = n, n = r ,goto L1
1.【求余数】 以n除m,r为余数
2.【判读余数是否为0】如果r为0,则最大公因子是n
3.【减少】置m=n,n=r,重新执行算法(回到步骤1)
伪代码:
L1:r = m mod n (m=k*n+r,因此求m和n之间的最大公因子实际上是求r和n之间的最大公因子 )
if r == 0
return m
else
m = n, n = r ,goto L1