import java.util.*;
public class Java{
public static void main(String [] args){
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
int x=cin.nextInt();
if(x<2||x>2147483647){
continue;
}
if(x%2==0){
System.out.println("非質數");
}else{
for(int i=3;i*i<x;i=i+2){
if(x%i==0){
System.out.println("非質數");
break;
}else if((i+2)*(i+2)>x){
System.out.println("質數");
break;
}
}
break;
}
}
}
}
先判斷是否為偶數或尾數為0或5,是的話直接非質數,再來只用奇數去找,並且用次方減少判斷次數,可是還是一直tle(3s),請問能給點建議嗎?謝謝。