素数筛

//找出从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 16:43
佛山大学 Java
java全国可飞:简历2.0,各位佬看看,这样可以吗查看图片
点赞 评论 收藏
分享
找工作勤劳小蜜蜂:矛盾是没有实习,就是没实战经验,公司不想要,公司不要,你就没有实习,你就进入死循环,另外你的项目不是社会现在有大量岗位存在行业用的,云存储人员早就饱和。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务