水题一枚。。
#include<iostream>
#include
<cstdio>
#include
<cstring>
#include
<cmath>
#include
<algorithm>
#include
<
string
>
using
namespace
std;
int
isprime(
int
b,
int
n)
{
int
i;
for
(i=b;i<=sqrt(n);i++
)
{
if
(n%i==
0
)
return
i;
}
return
1
;
}
int
res[
10005
];
int
main()
{
int
t,i;
int
x,tmp;
cin
>>
t;
while
(t--
)
{
cin
>>
x;
tmp
=
x;
int
k =
0
;
while
(tmp%
2
==
0
)
{
tmp
/=
2
;
res[k
++]=
2
;
}
if
(tmp>
2
)
{
i
=
3
;
while
(
1
)
{
if
(tmp ==
1
)
break
;
if
(tmp%i==
0
)
{
res[k
++]=
i;
tmp
/=
i;
}
else
{
int
ca =
isprime(i,tmp);
if
(ca ==
1
)
{
res[k
++]=
tmp;
break
;
}
else
i
=
ca;
}
}
}
cout
<<x<<
"
=
"
<<res[
0
];
for
(i=
1
;i<k;i++
)
{
cout
<<
"
*
"
<<
res[i];
}
cout
<<
endl;
}
return
0
;
}

