版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37014990/article/details/82668674
- 互质数
- 定义:最大公约数只有1的两个整数,叫做互质数。
- 例如:
7,11,13的最大公约数为1,即三者互质。 - 代码实现:
- 辗转相除法(两数的最大公约数求法)
- 用较小的数(Big)除以较大的数,余数
public static int isZhi(int big, int small) {
if(small > big) {
int temp = big;
big = small;
small = temp;
}
int r = big % small;
if(r == 0) {
return small;
} else {
return isZhi(small, r);
}
}
public static void main(String[] args) {
// 最大公约数位1, 即互质
System.out.println(isZhi(3, 5) == 1);
}
- 质数
- 定义:又称素数,在大于1的自然数中,除了1和该数本身外,无法被其他自然数整除。即只有1与该数本身两个正因数的数。
- 代码实现(有更高效的办法,可参考其他博客):
//方法一
public static boolean isPrimel(int num) {
if(num < 2) return false;
//num一半以后,不可能存在其他因数(除本身以外)
for(int i = 2; i < num / 2; i++) {
//存在其他因数
if(num % i == 0) {
return false;
}
}
return true;
}