#include <bits/stdc++.h>
using namespace std;
int main()
{
int input;
while(cin>>input)
{
int i,output1[100]={0},output2[100]={0},output_count=0,temp=input;
for(i=2;i<temp;i++)
{
if(input%i==0)
{
output1[output_count]=i;
while(input%i==0)
{
input/=i;
output2[output_count]++;
}
output_count++;
}
}
if(input==2||input==3||output1[0]==0)
cout<<input<<endl;
else
{
for(i=0;i<output_count;i++)
{
if(output2[i]==1)
cout<<output1[i];
else
cout<<output1[i]<<"^"<<output2[i];
if(i!=output_count-1)
cout<<" * ";
}
cout<<endl;
}
}
return 0;
}
關於 for(i=2;i<temp;i++) 我想不到更優寫法
卡在21ms無法更快,求大神指導