B 1013 数素数 (20分)

Posted leamant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B 1013 数素数 (20分)相关的知识,希望对你有一定的参考价值。

 

#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分)的主要内容,如果未能解决你的问题,请参考以下文章

1013 数素数 (20 分)

PTA乙级 (1013 数素数 (20分))

1013 数素数 (20 分)

1013 数素数 (20)(20 分)

1013 数素数 (20 分)

1013 数素数 (20分)