解题:最大组合问题
设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为7424613
程序输入:n
程序输出:n个数联接成的多位数。
解题:按首个位置的大小来排序,再按第二个位置的数字大小排序,联想到了可以借助字符串。
#coding='utf-8' ##设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数。 ## 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 ## 又如:n=4时,4个整数7,13,4,246联接成的最大整数为7424613 ##程序输入:n ## 程序输出:n个数联接成的多位数。 #解题:按首个位置的大小来排序,可以借助字符串。 def zuhe(b): b=[str(x) for x in b] b=sorted(b,reverse=True) return int(''.join(b)) x=zuhe([11,23,143,69,772]) print(x)