//篩選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;
}
埃式篩選素數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.