题目链接
注意
1.试除到根号n,并且包括根号n
2.如果n不等于1,说明存在一个大于根号n的质数
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n, x;
cin>>n;
for(int i = 0;i < n; i++){
cin>>x;
int cnt;
for(int j = 2; j <= x/j; j++){
if(x%j == 0){
cnt = 0;
while(x%j ==0){
x /= j;
cnt++;
}
cout<<j<<" "<<cnt<<endl;
}
}
if(x > 1) cout<<x<<" "<<1<<endl;
cout<<endl;
}
return 0;
}