素数筛

//找出从0到n的所有素数
#include<iostream>
#include<set>//9592
#include<vector>
#include<string>
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<algorithm>
typedef long long ll;
using namespace std;
int main() {
    int n;
    cin>>n;
    int prime[n+2]={0};
    prime[0]=prime[1]=1;
    int temp=sqrt(n);
    cout<<temp;
    for(int i=2;i<=temp;++i){
        if(!prime[i]){
            for(int j=i*i;j<=n;j+=i){//从2i到3i到i*i-1 之前都已经剔除过了,所以直接从i*i开始 
                prime[j]=1;//剔除 
            }
        }
    }
    for(int i=0;i<=n;++i){
        if(!prime[i]) cout<<i<<" ";
    }
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
03-28 13:48
hory权:校招vip纯神人了,还说自己是什么师范大学的
点赞 评论 收藏
分享
挣K存W养DOG:我记得好多人说这个公司就是白嫖方案的,现在有大体方案要让你给他展示实现细节了,也是无敌了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务