问题描述:输入几组整数,按位数拆分,求最大整数
输入:输入数据有多组,第一行为每组数字个数;每组 1-50个样例 最大数字不超
过1000000,输入0结束。
输出:求得的最大整数
样例
6
1 100 1000 10000 100000 1000000
3
9683 8280 331
0
输出
1
3689
题解:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int func(int num) {
vector<int> t;
while (num) {
t.push_back(num % 10);
num /= 10;
}
sort(t.begin(), t.end());
int sum = 0;
for (int i = 0; i < t.size(); i++) {
sum *= 10;
sum += t[i];
}
return sum;
}
int main() {
int n;
while (cin >> n) {
int max_value = 0;
int number;
for (int i = 0; i < n; i++) {
cin >> number;
int func_result = func(number);
if (max_value < func_result) {
max_value = func_result;
}
}
cout << max_value << endl;
}
return 0;
}