首页 > 其他 > 详细

B 1013 数素数 (20分)

时间:2020-07-18 11:22:28      阅读:45      评论:0      收藏:0      [点我收藏+]

 

#include<iostream>
using namespace std;
const int maxn=1000001;
int prime[maxn],num=0;
bool p[maxn]={0};

//找出素数 
void findprime(int n){
    
    for(int i=2;i<maxn;i++)
    {
        if(p[i]==false)//写错 flase 
        {
            prime[num++]=i;
            if(num>=n)
            break;
            
            for(int j=i+i;j<maxn;j+=i)//i+i  是倍数;排除倍数后,j=j+i:排除以后的所有有关倍数
            {                             //?为什么这么麻烦 ?不,以后重复的都不会出现 
                p[j]=true;//写错。。ture 
            }
        }
        
    }    
}


int main()
{
    
    int m,n,count=0;
    cin>>m>>n;
    findprime(n);
    for(int i=m;i<=n;i++)
    {
        cout<<prime[i-1];
        count++;
        
        if(count%10!=0&&i<n)
        cout<<" ";
        else cout<<endl;
        
    }
    return 0;
}

 

B 1013 数素数 (20分)

原文:https://www.cnblogs.com/leamant/p/13334527.html

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