您的位置:首页 > 其它

hdu 2136 Largest prime factor(素数打表)

2016-10-23 14:10 519 查看


Larg
4000
est prime factor

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 11131    Accepted Submission(s): 3936


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>
using namespace std;
const int maxn = 1000005;
int pre[maxn];
void dabiao()
{
int k = 1;
memset(pre,0,sizeof(pre));
for(int i = 2; i < maxn; ++i)
{
if(pre[i] == 0)
{
for(int j = 1; i * j < maxn; ++j)
pre[i*j] = k;
k++;
}
}
}
int main()
{
int n;
dabiao();
while(~scanf("%d",&n))
{
printf("%d\n",pre
);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: