HDU2136 Largest prime factor

给出一个n,找出n的最大素因子在素数表中的位置。

打表:

#include <cstdio>

#include <cstring>
const int MAX=1e6;
using namespace std;
long long prime[MAX];
int main()
{
    long long num,i,j,n;
    memset(prime,0,sizeof(prime));
    prime[1]=0;
    num=0;
    for(i=2;i<MAX;i++)
    {
        if(prime[i]==0)
        {
            num++;
            for(j=i;j<MAX;j+=i)
              prime[j]=num;
        }
    }
    while(scanf("%lld",&n)!=-1)
      printf("%lld\n",prime[n]);
    return 0;
}

你可能感兴趣的:(HDU2136 Largest prime factor)