hdu 2136(最大素数因子)

来源:互联网 发布:linux如何设置双屏显示 编辑:程序博客网 时间:2024/06/05 15:19

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2136

求某个数最大素数因子的位置。

View Code
 1 #include<iostream> 2 const int MAXN=1000004; 3 using namespace std; 4 bool prime[MAXN]; 5 int res[MAXN];//res[j]存放j的最大素数因子的位置,即答案 6  7 int main(){ 8     int count=1; 9     for(int i=2;i<MAXN;i++){10         if(!prime[i]){11             res[i]=count;//保存素数i的位置12             for(int j=i;j<MAXN;j+=i){13                 prime[j]=true;14                 res[j]=count;15             }16             count++;17         }18     }19     int n;20     while(~scanf("%d",&n)){21         printf("%d\n",res[n]);22     }23     return 0;24 }

 

0 0
原创粉丝点击