埃氏筛法

1,就是对多个数测试是否为素数。

2,给定整数n,请问n以内有多少个素数。

3,

#include<iostream>
#include<algorithm>
using namespace std;
int ans=0;
int n,prime[1005];
bool is_prime[1005];
int sieve(int n)
{
    int p=0;
    for(int i=0;i<=n;i++) is_prime[i]=true;
    is_prime[0]=is_prime[1]=false;
    for(int i=2;i<=n;i++)
    {
        if(is_prime[i])
        {
            prime[p++]=i;
            for(int j=2*i;j<=n;j+=i) 
                is_prime[j]=false;
        }
    }
    return p;
}
int main(){
    cin>>n;
    int ans=sieve(n);
    cout<<ans<<endl;
    for(int i=0;i<ans;i++) cout<<prime[i]<<endl;
//    for(int i=2;2<=n;i++)
//    {
//        if(is_prime[i])
//            ans++;
//    }
//    cout<<ans<<endl;
    
} 

4,

posted @ 2020-01-20 16:58  北月真好  阅读(125)  评论(0编辑  收藏  举报