#include<iostream>
using namespace std;
bool flag;
void divide(int n)
{
for(int i=2;i<=n/i;i++)
{
if(n%i==0)
{
int s=0;
while(n%i==0)
{
n/=i;
s++;
}
if(!flag)printf("%d^%d ",i,s),flag=true;
else printf("* %d^%d ",i,s);
}
}
if(n>1&&!flag)printf("%d^1\n",n);
else if(n>1) printf("* %d^1\n",n);
}
int main()
{
int n;
cin>>n;
cout<<n<<" = ";
divide(n);
return 0;
}
运行结果: