求两个数的最大公约数和最小公倍数

计算两个非负整数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;
}

你可能感兴趣的:(算法,java,算法)