75分求大佬调试(悬赏关注)
查看原帖
75分求大佬调试(悬赏关注)
705296
miffy_123楼主2023/7/2 21:02
#include <bits/stdc++.h>
using namespace std;
int a[100];
int qpow(int a,int n){
    if(n==0)
        return 1;
    else if(n%2==1)
        return qpow(a,n-1)*a;
    else {
        int temp=qpow(a,n/2);
        return temp*temp;
    }
}
bool cmp(int A,int B){
	if(to_string(A).length()>to_string(B).length()){
		int k=B*qpow(10,abs(to_string(A).length()-to_string(B).length()));
		return A>k;
	}
	if(to_string(B).length()>to_string(A).length()){
		int k=A*qpow(10,abs(to_string(B).length()-to_string(A).length()));
		return k>B;
	}
	return A>B;
}
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
    	cin>>a[i];
	}
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++){
		cout<<a[i];
	}
    return 0;
}
2023/7/2 21:02
加载中...