计算最大公因数的欧几里得算法。
两个整数的最大公因数(gcd)是同时整除二者的最大整数。
于是,gcd(50,15)=5。下图所示的算法计算gcd(M,N),假设M >= N(如果N > M,则循环的第一次迭代将他们互相交换)。
public static long gcd(long m,long n){
while(n != 0){
long rem = m % n;
m = n;
n = rem;
}
return m;
}
算法连续计算余数直到余数为0,最后的非零余数就是最大公因数。