用VB程序实现:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
展开全部
分析:假设有3个正整数:12345,678,9
那么:组成 9 678 12345,这个数字最大。
可见,要把数字中左边起首位越大的数,首先放在新的数字的最左边,而并非数据大的数放在最左边。
也就是说不能,按照数值大小对它们进行排序,而应该按照字符串的大小进行排序。
因为字符串大小的比较,是从左开始,逐位比较:例如:
“9941” > "9931"
比较:左起第1位相同,就比较左起第2位,又相同,就继续比较左起第3位,......
同理:
"9" > "10",因为 左起第1位 “9” > "1"
问题的解:
把n个正整数,转换成字符串保存到数组,进行降序排序,然后将它们连接起来,并输出。
那么:组成 9 678 12345,这个数字最大。
可见,要把数字中左边起首位越大的数,首先放在新的数字的最左边,而并非数据大的数放在最左边。
也就是说不能,按照数值大小对它们进行排序,而应该按照字符串的大小进行排序。
因为字符串大小的比较,是从左开始,逐位比较:例如:
“9941” > "9931"
比较:左起第1位相同,就比较左起第2位,又相同,就继续比较左起第3位,......
同理:
"9" > "10",因为 左起第1位 “9” > "1"
问题的解:
把n个正整数,转换成字符串保存到数组,进行降序排序,然后将它们连接起来,并输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询