用java如何写代码去判断质数和合数

2024-11-27 01:22:59
推荐回答(2个)
回答1:

  首先介绍下:质数是除了本身和1以外,没有质因数,就是没有数能够整除之;合数是除了本身和1以外还有第三个数能整除之。
  具体示例代码如下:

public class Demo2 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int num = scan.nextInt();
        int index = 0;//使用一个数来标记是质数还是合数
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                index++;
            }
        }
        if (index == 0) {//index等于0表示质数
            System.out.println("这是个质数");
        }
        else {//index大于0表示合数
            System.out.println("这是个合数");
        }
    }
}

  需要注意的是:1不算质数也不算合数。

回答2:

写个函数,输入int,返回boolean,表示是否是质数。

原理:质数是除去能除1和本身以外的没有因式的数,所以我们从2开始整除一直到要判断的数的平方根,只要能整除以上数,那么它就不是质数。

代码:

public void 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; 
}