话不多说直接上代码
boolean is_prime = true
if (num > 2 && num % 2 ==0){
is_prime = false;
}else {
for (int i = 3; i <= Math.pow(num,0.5); i+=2) {
if (num % i == 0){
is_prime = false;
break;
}
}
return is_prime;
简单介绍一下,因为素数绝对不可能是偶数,所以可以想到直接除所有小于他的奇数和2就好,这样做直接缩短了一半的时间,但是大家仔细想一下,假入num = a * a,那b也绝对不是素数。所以说直接在小于等于根号下num就可以,并且是奇数就可以保证他是素数了。不懂就问,欢迎互动。