Largest prime factor 2136

来源:互联网 发布:c语言 udp多线程编程 编辑:程序博客网 时间:2024/06/04 19:39

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

1

2

3

4

5

Sample Output

0

1

2

1

3

#include <cstdio>#include <cstring>const int MAX = 1000001;int LPF[MAX];int main(int argc, const char* argv[]){    memset(LPF, 0, sizeof(LPF));    int loc = 1;    for (int i=2; i<MAX; ++i)    {        if (LPF[i] != 0)        {            continue;        }        LPF[i] = loc++;        for (int j=i*2; j<MAX; j+=i)        {            LPF[j] = LPF[i];        }    }    int n = 0;    while (scanf("%d", &n) != EOF)    {        printf("%d\n", LPF[n]);    }    return 0;}
0 0
原创粉丝点击