输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan =new Scanner(System.in);
int n=scan.nextInt();
boolean isPrime = true;
for(int i=0;i<n;i++){
int num=scan.nextInt();
if (num == 2) {
isPrime = true;
}
else if (num < 2 || num % 2 == 0) {
isPrime = false;
}else{
for (int j = 3; j <= Math.sqrt(num);j += 2) {
if (num % j == 0) { // 能被整除,不是素数
isPrime = false;
break; // 提前退出循环,优化效率
}
}
}
if(isPrime){
System.out.println("Yes");
}else{
System.out.println("No");
}
}
}
}