#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
int i, j, n, T;
scanf("%d", &T);
for (i = 0; i < T; i++) {
scanf("%d", &n);
int ret = 1;
// 一定要判断n是不是<2,否则在输入1的时候也会被误判为素数
if (n < 2) {
ret = 0;
} else {
// 用平方根的方法来减少循环次数,同时要注意是j<n,并不是j<i
for (j = 2; j * j <= n; j++) {
if (n % j == 0) {
ret = 0;
break;
}
}
}
if (ret == 1) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}
一定要判断一下n的大小,看它有没有超过2

京公网安备 11010502036488号