Java学习笔记

数学工具(math)

2017-05-28  本文已影响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);
}
上一篇 下一篇

猜你喜欢

热点阅读