美文网首页Java学习笔记
数学工具(math)

数学工具(math)

作者: 蜗先生 | 来源:发表于2017-05-28 15:44 被阅读24次

    1.判断是否为素数:又称质数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(被除数被除数整除,或除数能整除被除数)

    // 判断是否为素数
    public static boolean isPrime(int num) {
        if(num < 2)return false;
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                    return false;
                }
            }
        }
        return true;
    }
    

    2.求最大公约数(欧几里德算法):计算两个非负整数 p 和 q 的最大公约数,若q 是 0,则最大公约数为 p。否则,将 p 除以q 得到余数 r,p 和 q 的最大公约数即为 q 和r 的最大公约数。

    public static int getGCD(int p, int q) {
        if (q == 0)
            return p;
        int r = p % q;
        return getGCD(q, r);
    }
    

    3.求最小公倍数:计算两个非负整数p和q的最小公倍数,即为p和q的乘积除以p和q的最大公约数。

    public static int getLCM(int p, int q) {
        return p * q / getGCD(p, q);
    }

    相关文章

      网友评论

        本文标题:数学工具(math)

        本文链接:https://www.haomeiwen.com/subject/ecrhfxtx.html