Java求两个正整数最大公约数,最小公倍数

//最大公约数,最小公倍数算法
public class GongYue_Bei {
    public static void main(String[] args) {
        System.out.println(gcd(100,105));
    }
    //递归求最大公约数:
    public static int gcd1(int p, int q){
        // 若q为0,则最大公约数为p
        if(q == 0) {
            return p;
        }
        int r = p % q;
        return gcd1(q, r);

    }
    //计算两个非负整数 p 和 q 的最大公约数
    public static int gcd(int m,int n){
        while (n!=0){
            int r = m%n;
            m = n;
            n = r;
        }
        return m;
    }
    //  计算两个非负整数 p 和 q 的最小公倍数
    public static int lcm(int p, int q){
        int p1 = p;
        int q1 = q;
        while(q != 0){
            int r = p % q;
            p = q;
            q = r;
        }
        return (p1*q1)/p;
    }
}

你可能感兴趣的:(java)