PRIME NUMBER(if函数除以2)

时间:2017-12-07 09:22:20

标签: java

嗨,我对主要功能有一点问题。

public static boolean isPrime(long num) {

    for (long i=3; i <num/2; i++) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

我不明白为什么它必须是num / 2和if(num%i == 0)。 这是否意味着如果 num = 10且i = 4,这将导致2.使4为素数?

抱歉,如果这是一个愚蠢的问题,我刚开始编码\ m /

编辑:也可以有人解释if(num % 1 ==0)

1 个答案:

答案 0 :(得分:1)

如果你想编写一个代码来检查它是否是素数,那么你需要改变循环初始化。

长i = 3 - &gt;长i = 2。因为素数不能被除1之外的任何数字整除。所以你应该开始将数字除以2,