首页 > 其他 > 详细

51nod 1106 质数检测

时间:2018-11-25 14:14:44      阅读:140      评论:0      收藏:0      [点我收藏+]
给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。
 
 

输入

第1行:一个数N,表示正整数的数量。(1 <= N <= 1000)
第2 - N + 1行:每行1个数(2 <= S[i] <= 10^9)

输出

输出共N行,每行为 Yes 或 No。

输入样例

5
2
3
4
5
6

输出样例

Yes
Yes
No
Yes
No
孪生素数。
代码:
#include <iostream>
#include <cstdio>
#include <cmath>
#define MAX 50000
#define PI 3.1415926
using namespace std;
bool ispri(int x) {
    if(x <= 1) return false;
    if(x == 2 || x == 3) return true;
    if(x % 6 != 1 && x % 6 != 5) return false;
    for(int i = 5;i * i <= x;i += 6) {
        if(x % i == 0 || x % (i + 2) == 0) return false;
    }
    return true;
}
int main() {
    int n,d;
    scanf("%d",&n);
    while(n --) {
        scanf("%d",&d);
        puts(ispri(d) ? "Yes" : "No");
    }
}

 

51nod 1106 质数检测

原文:https://www.cnblogs.com/8023spz/p/10015313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!