Java相关:判断素数的方法错哪了

来源:百度知道 编辑:UC知道 时间:2024/07/15 07:07:41
public static boolean isAPrime(long n) {
boolean yn = true;
check: for (long i = 3l; i <= (long) Math.sqrt(n); i++) {
if (n % i == 0) {
yn = false;
break check;
}else{
continue;
}
}
return yn;

}

check: for (long i = 3l; i <= (long) Math.sqrt(n); i++) {
这句i初始应为2,即long i=2;

public static boolean isAPrime(long n) {
boolean yn = true;
long i;
check: for (i = 2; i <= (long) Math.sqrt(n); i++) {
if (n % i == 0) {
yn = false;
break check;
}
if(i>= (long)Math.sqrt(n) + 1){
yn=true;
}

else{
yn=false;
}
}
return yn;

}