全RE但样例加自测全对
查看原帖
全RE但样例加自测全对
1568852
want_to_AC_b2a9楼主2025/6/21 13:42
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
#define int long long
int cnt=0;
int primes[1000000];
bool data[1000000];
void aishishai(int n){
    memset(data,1,sizeof(data));
    data[0]=0;data[1]=0;
    for(int i=2;i<=n;i++){
        if(data[i])primes[cnt]=i,cnt++;
        for(int k=i*i;k<=n;k+=i){
            data[k]=0;
        }
    }
}
signed main(){
    int n,num=0;
    cin>>n;
    int ans[1000000]={0};
    aishishai(n);
    for(int i=0;i<cnt;i++){
        while(n%primes[i]==0){
            ans[num]=primes[i];
            num++;n/=primes[i];
        }
    }
    sort(ans,ans+num);
    ans[num]=-114514;
    int cnt1=1;
    for(int i=0;i<num;i++){
        if(ans[i]!=ans[i+1]&&cnt1!=1)
        cout<<ans[i]<<'^'<<cnt1<<" * ",cnt1=1;
        else if(ans[i]==ans[i+1])cnt1++;
        else if(i!=num-1)
        cout<<ans[i]<<" * ";
        else cout<<ans[i];
    }
}

救一下吧

2025/6/21 13:42
加载中...