分解质因数

痴心易碎 提交于 2020-01-30 20:44:04

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main(){
 5     int n;genhao
 6     cin >> n;
 7     while(n --){
 8         int a; cin >> a;
 9         //任何一个正整数最多只有一个大于根号n的质数
10         for(int i = 2;i <= a / i;++i){
11             if(a % i == 0){//i 一定是质数genhao
12                 int s = 0;
13                 while(a % i == 0) a = a / i, ++s;//把i除干净
14                 cout << i << " " << s << endl;
15             }
16         }
17         if(a > 1) cout << a << " " << 1 << endl;//因为最后一次分解a本身也有可能是一个质数, 如果不是质数a最后必然等于1
18         cout << endl;
19     }
20     return 0;
21 }
View Code

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!