3TLE,2RE,50分,玄关求助。
查看原帖
3TLE,2RE,50分,玄关求助。
1133254
wangjingxi_楼主2024/8/17 22:06
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){//不用signed会CE,不知道为啥。
    int n,j=2;
    cin>>n;
    int a[10000001] = {0};//再开大会MLE。
    while (n != 1) {
        if (n % j == 0) {
            n /= j;
            a[j]++;
        }else j++;
    }
    bool first = true;//第一个乘号不用输出
    for (int i=2;i<=j;i++){
        if(a[i]>0){
            if(!first) cout << " * ";
            if(a[i]>1) cout<<i<<"^"<<a[i];
            else cout << i;
            first = false;
        }
    }
    return 0;
}
2024/8/17 22:06
加载中...