Largest prime factor
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4409 Accepted Submission(s): 1560
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.
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
1 2 3 4 5
Sample Output
0 1 2 1 3
Author
Wiskey
Source
Recommend
威士忌
//素数倍数一起置为它的素数序号,这样数组里存放的序号就是最大素数因子的序号了
#include <stdio.h>
#include <string.h>
int a[1000001];
int main()
{
int n, num = 1, i, j;
memset(a, 0, sizeof(a));
for(i = 2; i < 1000001; i++)
{
if(a[i])
continue;
else
for (j = i; j < 1000001; j += i)
a[j] = num;
num++;
}
while(~scanf("%d", &n))
printf("%d\n", a[n]);
return 0;
}
3981

被折叠的 条评论
为什么被折叠?



