33,322
社区成员




/**********************************************************************************/
/* Problem: d062 "分解质因数" from */
/* Language: C++ */
/* Result: AC (31ms, 912KB) on SzNOI.cn */
/* Author: ckcz123 at 2012-02-27 10:11:00 */
/**********************************************************************************/
#include <iostream>
int main()
{
int e=2;
int r=2;
int t,u,s,w;
int prime[10000];
prime[1]=2;
while (e<=10000)
{
e++;
w=0;
for (t=1;t<r;t++)
{
if (e % prime[t] == 0)
w=1;
}
if (w == 0)
{
prime[r]=e;
r++;
}
}
r--;
int n;
std::cin >> n;
if (n<=2)
{
std::cout << "ERROR\n";
return 0;
}
int k=1;
int i=0;
int m=n;
int pi[50];
int ki[50];
while (n!=1 && k<=r)
{
if (n % prime[k] == 0)
{
i++;
int j=0;
while (n % prime[k] == 0)
{
n=n/prime[k];
j++;
}
pi[i]=prime[k];
ki[i]=j;
}
k++;
}
if (n!=1)
{
i++;
pi[i]=n;
ki[i]=1;
}
for (u=1;u<=i;u++)
{
for(s=1;s<=ki[u];s++)
{
std::cout << pi[u];
if (s!=ki[u])
std::cout << "*";
}
if (u!=i)
std::cout << "*";
else
std::cout << "\n";
}
return 0;
}