一个数字排序问题……数学高手请帮我看看…

学习 时间:2026-04-07 16:34:07 阅读:1395
一个数字排序问题……数学高手请帮我看看…这是一个竞赛题…如果随机给我大小在1-999之间的100个整数,将它们全部连接起来得到一个新数N.有没有什么巧妙的办法迅速得到其中最大的N呢?

最佳回答

斯文的钻石

饱满的睫毛

2026-04-07 16:34:07

很难表述啊,我尽量啊首先将100个数排序,按以下规则在个位数后面加两个9,补足三位数,在十位数后面加一个9,补足三位数,进行排序。如果发生重复,比如5,59和599,就把位数多的列前面,但是加上的9只在比大小时使用,排序完即拿走,恢复原数。(比方说9>98>988)从上到下把这些数列好。然后进行分组,将第一个数位相同的数归为一组(3,35,378……),组的上下顺序不变,9最大,1最小在每组内进行第二次排序。规则如下碰到1,2位数时,用它下面紧邻的一个数插在后面,只取前三位组成一个新数,(比如有三个数3,34,348,就变成了334,343,348)然后将新数在组内进行比大小排序,排好上下之后在把加上去的数撤掉,恢复原数。然后从上到下一排就好了。例证23,536,654,35,234,567,65,243,354,359,53,5第一次排序 65,654,5,567,53,536,359,35,354,243,23,234第二次排序 65,654,567,5,536,53,359,354,35,243,234,23大功告成。

最新回答共有2条回答

  • 眯眯眼的蜜粉
    回复
    2026-04-07 16:34:07

    很难表述啊,我尽量啊首先将100个数排序,按以下规则在个位数后面加两个9,补足三位数,在十位数后面加一个9,补足三位数,进行排序。如果发生重复,比如5,59和599,就把位数多的列前面,但是加上的9只在比大小时使用,排序完即拿走,恢复原数。(比方说9>98>988)从上到下把这些数列好。然后进行分组,将第一个数位相同的数归为一组(3,35,378……),组的上下顺序不变,9最大,1最小在每组内进行第二次排序。规则如下碰到1,2位数时,用它下面紧邻的一个数插在后面,只取前三位组成一个新数,(比如有三个数3,34,348,就变成了334,343,348)然后将新数在组内进行比大小排序,排好上下之后在把加上去的数撤掉,恢复原数。然后从上到下一排就好了。例证23,536,654,35,234,567,65,243,354,359,53,5第一次排序 65,654,5,567,53,536,359,35,354,243,23,234第二次排序 65,654,567,5,536,53,359,354,35,243,234,23大功告成。

上一篇 古代纳谏的故事除了邹忌讽齐王的还有别的吗?

下一篇 想学这首英文歌曲,可是书没读好,- 好多单词不会读,所以谁能帮我住下白字呀(同音汉字代替,拼音也