代码如下
#include <bits/stdc++.h>
using namespace std;
#define int long long
map <int , int> mp;
signed main(){
int n;
cin >> n;
for(int i = 2;i <= n;i++){
if(n % i == 0){
while(n % i == 0 && n > 0){
mp[i]++;
n /= i;
}
}
}
string ans = "";
for(auto x : mp){
if(x.second == 1){
ans += to_string(x.first);
ans += " * ";
}
else{
ans += to_string(x.first) + "^" + to_string(x.second);
ans += " * ";
}
}
ans = ans.substr(0, ans.size() - 3);
cout << ans << "\n";
return 0;
}
谢谢各位了