本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N
(≤ 10),随后N
行,每行给出一个小于231的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes
,否则输出No
。
输入样例:
2
11
111
输出样例:
Yes
No
1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 #include <string> 5 #include <cstring> 6 #include <algorithm> 7 #include <iomanip> 8 #include <cstdlib> 9 #include <cctype> 10 #define ll long long 11 #define ull unsigned long long 12 #define PI 3.14159265358979323846 13 using namespace std; 14 const int maxn = 1e6+7; 15 16 bool isprime(ull n) { 17 if(n<2){ 18 return false; 19 } 20 if(n==2){ 21 return true; 22 } 23 ll x=(ll)sqrt(n); 24 for(ll i=2;i<x;i++){ 25 if(n%i==0){ 26 return false; 27 } 28 } 29 return true; 30 } 31 int main() { 32 int t; 33 cin>>t; 34 while(t--) { 35 ull n; 36 cin>>n; 37 if(isprime(n)){ 38 cout<<"Yes"<<endl; 39 } 40 else{ 41 cout<<"No"<<endl; 42 } 43 } 44 return 0; 45 }