埃氏筛法
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,