埃式篩選素數

//篩選n以內有多少個素數 
#include<iostream>
#include<string.h>
using namespace std;
//int prime[1000001];
int is_prime[1000001];
int assx(int p)
{
     int i,c=0,j;
    // memset(prime,1,sizeof(int)*1000001);加這個數組可以統計素數的具體值
     memset(is_prime,1,sizeof(int)*1000001);
     is_prime[0]=is_prime[1]=0;
     for(i=2;i<=p;i++)
     {
          if(is_prime[i])
          {
               for(j=2*i;j<=p;j+=i)
               {
                is_prime[j]=0;
               }
              c++;
          }
     }
 return c;
}
int main()
{
 int n;
 cin>>n;
 cout<<assx(n)<<endl;
 return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章