我觉得吧,这题完全没有什么好讲的,只是为了补全算法基础课题解合集才写的这个题解。
暴力枚举即可,时间复杂度 O(T√n)。
注意特判 1 不是质数。
#include <bits/stdc++.h>
using namespace std;
bool check(int x) {
if (x == 1) return 0;
for (int i = 2; i <= x / i; i++)
if (x % i == 0) return 0;
return 1;
}
int main() {
int T; scanf("%d", &T);
while (T--) {
int x; scanf("%d", &x);
puts(check(x) ? "Yes" : "No");
}
return 0;
}