欧几里得算法
概念
欧几里得算法(辗转相除法):求最大公约数。用较大数除以较小数,再用得出的余数去除之前的除数,再用得出的余数去除第二次相除算式里的除数,直到最后余数是0为止。最后的除数就是这两个数的最大公约数。
定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数
重复应用下列等式:(m>n)
gcd(m,n)=gcd(n,m mod n) [m mod n, 表示m除以n之后的余数]
直到 m mod n等于0
例如:
gcd(60,24)=gcd(24,12)=gcd(12,0)=12
代码
public int Euclid(int m, int n){
int r=