HDU 2136 Largest prime factor

链接 : http://acm.hdu.edu.cn/showproblem.php?pid=2136


题意:给你一个数n,输出这个数的最大素因子在素数表的位置(或在素数表中找出这个数最大的因子,输出其位置)

P.s. cin,cout超时,可能方法本身就不太好吧

#include <cstdio>
#include <cstring>
#define MAX 1000001
using namespace std;
int ans[MAX];
int main()
{
    int n,k=1;
    memset(ans,0,sizeof(ans));
    for(int i=2; i<MAX; i++)
        if(!ans[i])
        {
            ans[i]=k;
            for(int j=i*2; j<MAX; j+=i)
                ans[j]=k;
            k++;
        }
    while(~scanf("%d",&n)) printf("%d\n",ans[n]); //cin会超时
    return 0;
}


你可能感兴趣的:(素数,水题,HDU2136)