Description
假设x是一个正整数,它的值不超过65535(即1
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn=1e7;
bool prime[maxn];
int fac[10000],p[maxn/10];//数组太大会Memory Limit Exceed
int cnt,tot;
void isprime()
{
cnt=0;
memset(prime,0,sizeof(prime));
for(int i=2;i<maxn;i++)
{
if(!prime[i])
{
p[cnt++]=i;
for(int j=i+i;j<maxn;j+=i) prime[j]=1;
}
}
}
void fenjie(long long n)
{
tot=0;
for(int i=0;i<cnt&&p[i]*p[i]<=maxn;i++)
{
if(n%p[i]==0)
while(n%p[i]==0)
{
fac[tot++]=p[i];
n/=p[i];
}
}
if(n>1)
fac[tot++]=n;
sort(fac,fac+tot);
for(int i=0;i<tot-1;i++)
cout<<fac[i]<<"*";
cout<<fac[tot-1]<<endl;
}
int main()
{int t;
cin>>t;
isprime();
while(t--)
{
int n;
cin>>n;
fenjie(n);
}
return 0;
}