板子
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
void decompose(int n){
for(int i = 2; i <= n/i; ++i){
if(n%i==0){ //当i整除n,说明i为一个质因数,循环遍历消除所有的i
int cnt = 0;
while(n%i==0) cnt++, n/=i;
cout << i << " " << cnt << endl;
}
}
if(n>1) cout << n << " " << 1 << endl; //最后可能剩一个大于根号n的,单独处理
cout << endl;
}
int main(){
int n;
cin >> n;
while(n--){
int x;
cin >> x;
decompose(x);
}
return 0;
}
题目
题目 | 难度 |
---|---|
Acwing.分解质因数 | 板子题 |
洛谷.质因子分解 | 板子题 |