计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。
java语言实现:
求最大公约数
public static int gcd(int p, int q){
if(q==0) return p;
int r = p % q;
return gcd(q,r);
}
求最小公倍数
public static int gcm(int p,int q){
if(p==0||q==0) return 0;
int m = p*q;
int n=gcd(p,q);
return m/n;
}