求助!TLE*3
查看原帖
求助!TLE*3
1052626
wangrunyang楼主2024/9/3 21:13

代码如下

#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;
}

谢谢各位了

2024/9/3 21:13
加载中...