Key:
- 输入值为1
- 最后一个乘号
#include <algorithm> #include <iostream> #include <cstdio> #include <string> #include <cmath> using namespace std; int main(){ long int n; cin>>n; cout<<n<<"="; int sq=sqrt(1.0*n); int rank; if(n==1){ cout<<n; return 0; } for(long int i=2;i<=sq;i++){ rank=0; while(n%i==0){ rank+=1; n/=i; } if(rank>0){ cout<<i; if(rank>1){ cout<<"^"<<rank; } if(n!=1){ cout<<"*"; } } } if(n!=1){ cout<<n; } return 0; }