2020-10-18

7-1 判断素数 (10分)  

本题的目标很简单,就是判断一个给定的正整数是否素数。

输入格式:

输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2​31​​的需要判断的正整数。

输出格式:

对每个需要判断的正整数,如果它是素数,则在一行中输出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 }

 

上一篇:快速乘


下一篇:12.1