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);
}
网友评论