分解质因数
可用试除法,判断质数是不是它的因子以及有多少个该因子即可;
#include <cstdio>
#include <algorithm>
using namespace std;
void divide(int x)
{
for(int i=2;i<=x/i;++i)
{
if(x%i==0)
{
int num=0;
while(x%i==0){
x/=i;
num++;
}
printf("%d %d
",i,num); //分别为底数和指数
}
}
if(x>1) printf("%d %d
",x,1);
puts("");
}
int main()
{
int T,x;
scanf("%d",&T);
while(T--){
scanf("%d",&x);
divide(x);
}
}