#include<stdio.h>
#include<string.h>
#include<math.h>
int num[1100000];//素数打表的改进版本
int main()
{
int i,j;
int n;
int sum;
for(i=1;i<=1000000;i++)
num[i]=-1;
sum=0;
for(i=2;i<=sqrt(1000000);i++)
{
if(num[i]==-1)
{
sum=sum+1;
for(j=i;j<=1000000;j=j+i)
{
num[j]=sum;
}
}
}
num[1]=0;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",num[n]);
}
return 0;
}
hdu 2136 Largest prime factor
最新推荐文章于 2019-05-31 12:34:01 发布