2.1.3 Largest prime factor
2015-03-08 09:25
211 查看
#include <iostream> #include <map> using namespace std; int isPrime[100000]; int main(){ map<int,int> prime; int count=1; for(int i=2;i<=100000;i++){ isPrime[i]=1; } isPrime[0]=isPrime[1]=0; for(int i=2;i<=100000;i++){ if(isPrime[i]){ for(int m=2;m*i<=100000;m++){ isPrime[m*i]=0; } } } for(int i=2;i<=100000;i++){ if(isPrime[i]){ prime[i]=count; count++; } } int n; while(cin>>n){ if(n==1) cout<<'0'<<endl; else{ for(int i=n;i>=1;i--){ if(n%i==0&&isPrime[i]){ cout<<prime[i]<<endl; break; } } } } return 0; }
虽然超时了 但是掌握了筛选法求素数的原理
也算是有些收获吧
相关文章推荐
- (hdu step 2.1.3)Largest prime factor(求一个数的最大质因子的位置)
- (Hdu Acm Step 2.1.3)Largest prime factor
- Largest prime factor(最大素数因子)
- HDU:2136 Largest prime factor!(素数)
- HDU 2136 Largest prime factor(筛选法)
- Largest prime factor
- hdu 2136 Largest prime factor
- 2013寒假练习 1054 Largest prime factor
- (Problem 3)Largest prime factor
- HDU 2136 Largest prime factor(素数筛法)
- hdu 2136(Largest prime factor)
- JAVA hdu 2136 Largest prime factor
- Largest prime factor
- Problem 3 Largest prime factor
- [暑假集训--数论]hdu2136 Largest prime factor
- Largest prime factor
- Largest prime factor
- HDOJ 题目Largest prime factor(水题)
- hdu2136 Largest prime factor
- HDU 2136 Largest prime factor