链接 : 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;
}