HDU 2136 Largest prime factor(筛选法)
2012-08-24 21:05
330 查看
Largest prime factor
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4026 Accepted Submission(s): 1415
[align=left]Problem Description[/align]
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.
[align=left]Input[/align]
Each line will contain one integer n(0 < n < 1000000).
[align=left]Output[/align]
Output the LPF(n).
[align=left]Sample Input[/align]
1
2
3
4
5
[align=left]Sample Output[/align]
0
1
2
1
3
[align=left]Author[/align]
Wiskey
[align=left]Source[/align]
HDU 2007-11 Programming Contest_WarmUp
[align=left]Recommend[/align]
威士忌
分析:用筛选法(分解素数技巧),求N的最大素数因子在素数表的位置
#include<iostream> using namespace std; int a[1000000]; int main() { int k=1;//k初始化为1,位置 memset(a,0,sizeof(a)); /*筛选位置*/ for(int i=2;i<1000000;i++)//要到N,而不是sqrt(N) { if(!a[i]) { a[i]=k;//素数i的位置 for(int j=i+i;j<1000000;j+=i) a[j]=k; //构造出j的暂时最大素数因子的位置 k++; } } int n; while(~scanf("%d",&n)) { printf("%d\n",a ); } return 0; }
相关文章推荐
- HDU 2136 Largest prime factor(筛选法)
- HDU 2136 Largest prime factor(筛选法)
- HDU 2136 Largest prime factor(查找素数,筛选法)
- 【HDU】2136 - Largest prime factor(打表)
- HDU 2136 Largest prime factor
- hdu 2136 Largest prime factor
- hdu-2136-Largest prime factor [素数筛]
- HDU 2136 Largest prime factor(素数筛法)
- hdu 2136(Largest prime factor)
- HDU 2136 Largest prime factor
- HDU:2136 Largest prime factor!(素数)
- HDU 2136 Largest prime factor (水)
- hdu 2136 Largest prime factor
- HDU 2136 Largest prime factor(数论)
- HDOJ(HDU) 2136 Largest prime factor(素数筛选)
- F - Largest prime factor HDU - 2136
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDOJ(HDU) 2136 Largest prime factor(素数筛选)
- HDU 2136 Largest prime factor