|
Largest prime factorTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7531 Accepted Submission(s): 2690
Problem Description
Everybody knows any number can be combined by the prime number.
Now, your task is telling me what position of the largest prime factor. The position of prime 2 is 1, prime 3 is 2, and prime 5 is 3, etc. Specially, LPF(1) = 0.
Input
Each line will contain one integer n(0 < n < 1000000).
Output
Output the LPF(n).
Sample Input
Sample Output
Author
Wiskey
Source
Recommend
威士忌
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define N 1000000
int prime[N];
int main()
{int i,j,k=1;
memset(prime,0,sizeof(prime));
prime[1]=0;
for(i=2; i<=N; i++)
if(!prime[i])
{
prime[i]=k;
for(j=i+i;j<N;j+=i)
prime[j]=k;
k++;
}
int p;
while(scanf("%d",&p)!=EOF)
{
printf("%d\n",prime[p]);
}
return 0;
}
看了别人的才知道该怎么做。。。泪奔