Aizu - 0009(素数表)
要求很简单,求1-n有多少个素数,打表就行了
#include <iostream>
#include <cstdio>
#include <cmath>
#define maxn 1000000
using namespace std;
int prime[maxn],number[maxn];
void getprime()
{
int m=sqrt(maxn+0.5);
for(int i=2;i<=m;i++)
{
if(!prime[i])
{
for(int j=i+i;j<maxn;j+=i)
{
prime[j]=1;
}
}
}
int sum = 0;
for(int i=2;i<maxn;i++)
{
if(!prime[i])
{
sum++;
}
number[i]=sum;
}
}
int main ()
{
int n;
getprime();
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",number[n]);
}
}