求助!!!
查看原帖
求助!!!
1023075
WillZhong楼主2024/3/20 13:21

求助!
Unaccpeted
4 MLE 5 TLE 1 AC
上代码:


#include <bits/stdc++.h>
using namespace std;
map<long long int, long long int>a;
bool isp(long long int n){
    for(long long int i = 2;i <= sqrt(n);i++){
        if(n%i==0) return false;
    }
    return true;
}
long long int sum = 1;
int x;
void zys(long long int n){
    if(sum==x){
        return;
    }
    if(isp(n)){
        a[n]++;
        sum*=n;
        return;
    }
    for(int i = 2;i <= n;i++){
        if(n%i==0){
            zys(i);
        }
    }
}
int main(){

    long long int n;
    cin >> n;
    x = n;
    zys(n);
    int cnt = 0;
    for(pair<long long, long long>i : a){
        cnt++;
        if(i.second == 1) {
            cout << i.first;
            if (cnt != a.size()) cout << " * ";
        }
        else {
            cout << i.first << "^" << i.second;
            if (cnt != a.size()) cout << " * ";
        }
    }
}
2024/3/20 13:21
加载中...