您的位置:首页 > 其它

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;
}


虽然超时了 但是掌握了筛选法求素数的原理
也算是有些收获吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: