首页 > 代码库 > 51nod 1106 质数检测

51nod 1106 质数检测

 

给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。
 
Input
第1行:一个数N,表示正整数的数量。(1 <= N <= 1000)
第2 - N + 1行:每行1个数(2 <= S[i] <= 10^9)
 
Output
输出共N行,每行为 Yes 或 No。
 
Input示例
5
2
3
4
5
6
 
Output示例
Yes
Yes
No
Yes
No

 1 #include <iostream>
 2 #include <stdio.h>
 3 using namespace std;
 4 bool  is_prime(int num){
 5    int i;
 6    if(num==1) return false;
 7    if(num==2) return true;
 8    for(i=2;i*i<=num;i++)
 9     {if(num%i==0)
10     return false ;
11     }
12     return true;
13 }
14 int main (){
15     int n,num;
16         scanf("%d",&n);
17         while(n--){
18     scanf("%d",&num);
19     if(is_prime(num)) printf("Yes\n");
20     else  printf("No\n");
21     }
22     return 0;
23 }

 

51nod 1106 质数检测