设有 n个正整数 a1 a2 ... an,将它们连接成一行,相邻数字首尾相接,组成一个最大的整数。 例如:13、312、343 可以组合成为的最大数为 34331213 。 输入数据共两行,第一行有一个整数,表示数字个数 n。第二行有 n 个整数,表示给出的 n 个整数 a1 到 an。
时间: 2023-06-05 14:47:40 浏览: 100
题目大意:有n个整数a1,a2,...,an,将它们连接成一行,相邻数字首尾相接,组成一个最大的整数。例如:13 312 343 可以组合成最大的整数为34331213。输入数据共两行,第一行有一个整数,表示有n个整数;第二行有n个整数,表示n个整数a1到an。
解答:本题的核心是确定两个整数a和b连接后的大小,具体方法是将它们先转换成字符串,然后按照连接后的大小进行比较。转换成字符串后,比较a+b和b+a的大小即可。接下来,我们就可以用sort函数将n个整数进行排序,使得其连接后的数字最大。最后,将排序后的n个数按顺序连接在一起即可。
相关问题
设有 nn 个正整数 a_1 \dots a_na 1 …a n ,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
将这些正整数按照一定的规则排序,然后将它们依次连接起来,就可以组成一个最大的整数。具体来说,对于两个正整数 a 和 b,如果将它们连接起来得到的数 ab 大于 ba,那么就将 a 排在 b 的前面,否则将 b 排在 a 的前面。按照这个规则对所有的正整数进行排序,然后将它们依次连接起来,就可以得到一个最大的整数。
用c++程序写以下程序:设有 n 个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。 输入格式 第一行有一个整数,表示数字个数 n。 第二行有 n 个整数,表示给出的 n 个整数 ai。 输出格式 一个正整数,表示最大的整数
以下是用C++编写的程序:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool cmp(string a, string b) {
return a + b > b + a;
}
int main() {
int n;
cin >> n;
string nums[n];
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
sort(nums, nums + n, cmp);
string res = "";
for (int i = 0; i < n; i++) {
res += nums[i];
}
if (res[0] == '0') {
cout << "0" << endl;
return 0;
}
cout << res << endl;
return 0;
}
```
这个程序的主要思路是将所有数字转换成字符串,并将它们按照一定的规则排序,然后将它们连接起来形成一个最大的整数。具体来说,我们定义一个比较函数 `cmp`,它的返回值表示两个字符串的连接顺序。然后我们使用 `sort` 函数将所有字符串排序,最后将它们连接起来即可。需要注意的是,如果最大的整数是0,我们需要特殊处理一下。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)