快速筛法求质数

来源:互联网 发布:淘宝上新模板 编辑:程序博客网 时间:2024/05/18 18:03
#include<bits/stdc++.h>using namespace std;bool vis[11111111];int prime[11111111];int main(){    int n;    cin >> n;    int tt=0;    memset(vis,0,sizeof vis);    vis[0]=1;vis[1]=1;    for(int i=2;i<=n;i++) {        if(vis[i]==0)            prime[++tt]=i;   //如果是质数就加入        for(int j=1;j<=tt&&i*prime[j]<=n;j++) {            vis[i*prime[j]]=1;            if(i%prime[j]==0) //如果i能整除这个素数直接跳过                break;        }    }    for(int i=1;i<=tt;i++) {        cout << prime[i] << endl;    }    return 0;}

0 0
原创粉丝点击