hdu 2136 Largest prime factor

题目大意:就是求一个数n的最大素数因子。

思路:类似于筛素数,每次记录当前最大的素数因子,并同时记录该素数的序号。

View Code
#include <stdio.h>
#include <string.h>
int prime[1000000];
int pos[1000000];
int main()
{
    int i,j,k=1,n;
    prime[1]=1;
    pos[1]=0;
    memset(prime,0,sizeof(prime));
    for(i=2;i<1000000;i++)
    if(prime[i]==0){
        prime[i]=i;
        pos[i]=k++;
        for(j=i+i;j<1000000;j+=i)
        prime[j]=i;
    }
    while(~scanf("%d",&n)){
        printf("%d\n",pos[prime[n]]);
    }
}
原文地址:https://www.cnblogs.com/kim888168/p/2759484.html