这道题目开始的时候也是没有看明白到底是个什么意思,,,
看了别人的代码才知道原来是个这么意思,
还是不懂是个什么意思其实,,看代码算了..
嘿嘿
贴出:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define MAXN 1000001
int prime[MAXN];
int main()
{
memset(prime,-1,sizeof(prime));
int num=0;
for(int i=2;i<MAXN;i++)
{
if(prime[i]==-1)
{
num++;
for(int j=i;j<MAXN;j+=i)
{
prime[j]=num;
}
}
}
int N;
while(scanf("%d",&N)!=EOF)
{
if(N==1)
printf("0\n");
else
printf("%d\n",prime[N]);
}
return 0;
}