为了提高速度,采用筛法来求质因子:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int main ()
{
int T;
int n;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
printf("%d=", n);
int i = 2;
int j = 0; //下面的 j 只是为了输出格式的控制。
while(i * i <= n)
{
while(n%i==0)
{
if(!j)
printf("%d", i);
else
printf("*%d", i);
n/=i;
j = 1;
}
i++;
}
if(n!=1 && j==0)
{
printf("%d", n);
}
else if(n!=1 && j==1)
{
printf("*%d", n);
}
printf("\n");
}
return 0;
}