本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出“Yes”,否则输出“No”。
输入样例:2 11 111输出样例:
Yes No
注意:在panduan()方法中,if(i == 1){System.out.println("No")},在其后面要写else,如果不写,就会输入1时多输入一个Yes,因为他往下执行,会输出count==0的结果。
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int array[] = new int[n];
for(int i = 0; i < n; i++){
array[i] = scanner.nextInt();
}
for(int i = 0; i < array.length; i++){
panduan(array[i]);
}
scanner.close();
}
private static void panduan(int i) {
// TODO Auto-generated method stub
int count = 0;
if(i <= 1){
System.out.println("No");
}else{
for(int k = 2; k <= Math.sqrt(i); k++){
if(i % k == 0){
count++;
break;
}
}
if(count == 0){
System.out.println("Yes");
}else if(count != 0){
System.out.println("No");
}
}
}
}