问题描述:
给定 n个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。
输入格式
第一行包含整数 n。
接下来 n 行,每行包含一个正整数 ai。
输出格式
对于每个正整数 ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。
每个正整数的质因数全部输出完毕后,输出一个空行。
输入样例:
2
6
8
输出样例:
2 1
3 1
2 3
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
const int N=1e6;
int pri(int x){
for(int i=2;i<=x/i;i++){
int f=0;
if(x%i==0){
while(x%i==0)x/=i,f++;
cout<<i<<" "<<f<<endl;
}
}
if(x>1)cout<<x<<" "<<1<<endl;
}
int main(){
ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
int n;
cin>>n;
while(n--){
int x;
cin>>x;
pri(x);
cout<<endl;
}
return 0;
}
&spm=1001.2101.3001.5002&articleId=130616581&d=1&t=3&u=6011d5e68b1046399bc1464b4bffdbde)
655

被折叠的 条评论
为什么被折叠?



