欢迎访问宙启技术站
智能推送

判断一个数字是否为质数 - isPrimeNumber()

发布时间:2023-12-10 16:50:32

判断一个数字是否为质数可以通过以下代码实现:

public static boolean isPrimeNumber(int num) {
    if (num <= 1) {
        return false;
    }

    // 遍历2到num的平方根之间的所有数
    for (int i = 2; i <= Math.sqrt(num); i++) {
        // 如果num能被i整除,则说明num不是质数
        if (num % i == 0) {
            return false;
        }
    }

    // 如果没有在循环中返回false,则说明num是质数
    return true;
}

运行原理:

1. 如果数字num小于或等于1,则它不是质数,直接返回false。

2. 循环遍历从2到num的平方根之间的所有数字。

3. 在循环中,如果num能被当前数字整除,则说明num不是质数,返回false。

4. 如果没有在循环中返回false,则说明num是质数,返回true。

这个方法的时间复杂度是O(sqrt(n)),其中n是要判断的数字。

注意:这个方法只适用于判断正整数是否为质数,对于负数和0不适用。