首页 > 代码库 > 最大整数

最大整数

题目描述

设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数.

例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 34331213

又如: n=4时, 4个整数7,13,4,246连接成的最大整数为: 7424613

输入输出格式

输入格式:

 

n n个数

 

输出格式:

 

连接成的多位数

 

输入输出样例

输入样例#1:
313 312 34347 13 4 246
输出样例#1:
343312137424613



代码
#include<iostream>      #include<string>      #include<cstring>    #include<algorithm>    using namespace std;      string a[1000];     bool comp(string a,string b)    {        return (a+b > b+a);       }    int main()      {          int n,d=1;          cin>>n;          for (int i=0;i<n;i++)        cin>>a[i];          sort(a,n+a,comp);        for (int i=0;i<n;i++)              cout<<a[i];      }  
#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;string a[1001];int n;int cmp(string a,string b){    return (a+b>b+a);}int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++)      cin>>a[i];    sort(a+1,a+1+n,cmp);    for(int i=1;i<=n;i++)      cout<<a[i];    return 0;}

 

 

最大整数