筛选法(埃氏筛法)C++

判断N个数是否质数
输入N个整数M,判断它们是否为质数。如果是输出"YES",否则输出"NO"。(1<=n<=10000)

输入格式

第一行为N,第2~n+1行每行为一个正整数M。(1<=M<=1000000)

输出格式

每行分别是"YES"或者"NO"。

输入/输出例子1

输入:3
8
9
13

输出:NO
NO
YES

样例解释

埃氏筛法:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n,a[1000005],m;
int main(){
    cin>>n;
    a[1]=1,a[0]=1;
    for(int i=2;i*i<=1000000;i++){
        if(a[i]==0)
            for(int j=i+i;j<=1000000;j+=i)
                a[j]=1;
    }
    for(int i=1;i<=n;i++){
        cin>>m;
        if(a[m]==0)cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}
相关推荐
I_LPL6 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
颜酱6 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
WolfGang0073217 小时前
代码随想录算法训练营 Day16 | 二叉树 part06
算法
2401_831824968 小时前
代码性能剖析工具
开发语言·c++·算法
Sunshine for you9 小时前
C++中的职责链模式实战
开发语言·c++·算法
qq_416018729 小时前
C++中的状态模式
开发语言·c++·算法
2401_884563249 小时前
模板代码生成工具
开发语言·c++·算法
2401_8319207410 小时前
C++代码国际化支持
开发语言·c++·算法
m0_6727033110 小时前
上机练习第51天
数据结构·c++·算法
ArturiaZ10 小时前
【day60】
算法·深度优先·图论