本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N
(≤ 10),随后N
行,每行给出一个小于231的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes
,否则输出No
。
输入样例:
2
11
111
输出样例:
Yes
No
import java.util.Scanner;
public class Main {
//判断一个给定的正整数是否素数。
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scr = new Scanner(System.in);
int num = scr.nextInt();
int[] iArray = new int[num];
int i = 0;
// System.out.println("==="); //Test
for (i = 0; i < iArray.length; i++) {
iArray[i] = scr.nextInt();
// System.out.println(iArray[i]);
}
for (i = 0; i < iArray.length; i++) {
if (iArray[i] == 1 || iArray[i] == 0) {
// System.out.println(iArray[i]);
System.out.println("No");
continue;
}
if (iArray[i] <= 3) {
// System.out.println(iArray[i]);
System.out.println("Yes");
continue;
}
//Math.sqrt 是调用Math类中的sqrt方法,求一个数的平方根
for (int j = 2; j <= Math.sqrt(iArray[i]); j++) {
// System.out.println((int) Math.sqrt(iArray[i]));
if (iArray[i] % j == 0) {
// System.out.println(iArray[i]);
System.out.println("No");
break;
} else {
}
if (j == (int) Math.sqrt(iArray[i])) {
// System.out.println(iArray[i]);
System.out.println("Yes");
break;
}
}
}
}
}