HDU 2136 Largest prime factor(素数筛法)
2017-03-15 18:26
344 查看
Largest prime factor
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12087 Accepted Submission(s): 4290
[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
题意:每一个素数都对应一个序号,比如说1对应0,2对应1,3对应2,5对应3,;现在给你一个数n,要你找出最大质因数对应的序号。
思路:素数筛法求解;先用素数筛法打表,对每一个素数,把它以及它的倍数都标上序号,当输入n时,直接打印即可。
AC代码:
#include<cstdio> #include<cstring> using namespace std; const int maxn=1e6+5; int save[maxn]; int main(){ memset(save,0,sizeof(save)); int cnt=1; save[1]=0; for(int i=2;i<maxn;i++){ if(!save[i]){ for(int j=i;j<maxn;j+=i) save[j]=cnt; cnt++; } } int n; while(scanf("%d",&n)==1){ printf("%d\n",save ); } 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!(素数)
- JAVA hdu 2136 Largest prime factor
- 【HDU】2136 - Largest prime factor(打表)
- NYOJ 520 & 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 (最大素因子序号,cin超时呀!!!)
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor
- HDU 2136 Largest prime factor(数论)