给定 nn 个正整数 aiai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。
输入格式
第一行包含整数 nn。
接下来 nn 行,每行包含一个正整数 aiai。
输出格式
对于每个正整数 aiai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。
每个正整数的质因数全部输出完毕后,输出一个空行。
数据范围
1≤n≤1001≤n≤100,
 2≤ai≤2×1092≤ai≤2×109
输入样例:
  
   - 
    
     
    
    
     
      2
     
    
- 
    
     
    
    
     
      6
     
    
- 
    
     
    
    
     
      8
     
    
输出样例:
  
   - 
    
     
    
    
     
      2 1
     
    
- 
    
     
    
    
     
      3 1
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      2 3
     
    
#include<iostream>
 #include<algorithm>
 #include<cstring>
 using namespace std;
 void devide(int x)
 {
 
     for(int i=2;i<=x/i;i++)
     {
 
         if(x%i==0)
         {
 
             int s=0;
             while(x%i==0)x/=i,s++;
             cout<<i<<" "<<s<<endl;
         }
     }
             if(x>1)cout<<x<<" "<<1<<endl;
             cout<<endl;
 }
 int main()
 {
 
     int n;
     cin>>n;
     while(n--)
     {
 
         int t;
         cin>>t;
         devide(t);
     }
     return 0;
 } 
转载:https://blog.csdn.net/m0_62609939/article/details/128525800
