已知数字和的自然数最值
已知数字和的最大自然数和最小自然数
2022.9.16
辅导小涵,发现了一道经典的小学四年级数学题,思考了一下,得到了结果。顺便将这类问题进行了扩展,一劳永逸的解决了此类问题。
一个自然数,各位数字互不相同,各位数之和为17,这个数的最大值可能是多少?最小值可能是多少?
先考虑最小值。如果要自然数最小,其位数应该越少越好。位数和为17,如果是1位数,是无法满足条件的,因为最大的1位数是9。如果是2位数,则可以是89或98。3位数也可以,但是3位数大于2位数。所以该数的最小值是89。
再考虑最大值。如果要自然数最大,其位数应该越多越好,而且低位数字越小越好,高位数字越大越好,这样既可以保证位数更多,也可以保证数值更大。例如个位是1,十位是2,百位是3,千位是4,万位是(17-1-2-3-4=7),组合起来就是74321,这是不是最大值呢?不是的,因为还有个数字0没有考虑,如果将0算进来,加到最后1位,最大值就是743210,这就是最大值。它满足题目的所有条件,也是最大值。如果将0加到其他位,则比743210小,不是最大值。
为什么求最小值时不需要0,而求最大值需要0呢?因为求最小值需要位数越少越好,如果加了0,占了1位,就达不到最小的要求。而求最大值时,需要位数越多越好,这时候加0来增加位数(而且是加在最低位)是最好的方式。
扩展一下思维,对于任意的位数和n,能否找到一般规律来求最小值和最大值呢?这是可以的,基本原则跟上面的分析过程是一样的。不过需要对位数和n进行分段,不同的分段得到的结果不一样。当n大于45时,因为1到9的数字之和是45,超过45之后就会出现数字重复的问题,使得此题无解。所以需限定n小于等于45才能得到正确的解。
对于最小值,其位数越少越好。我们将n分解成若干大数字之和,确保位数少,同时将大数字放低位,小数字放高位,确保数值更小。低位从9开始放,然后依次往高位放8、7、6.......放了后要检查数字是否有重复,如果有重复,就不满足要求,需要重新分解和排布。
对于最大值,其位数越多越好。我们将n分解成若干小数字和一个大数字之和,确保最高位的大数字越大越好。排布的时候也要注意数字重复问题。数字的排列原则是:最高位放最大数字,其他位从高位到十位的数字依次递减,然后在最低位加上0。
最后我通过数字分段,推导出了对于指定n对应的最小值和最大值的计算公式,如下表:
|
n |
最小值 |
|
[1,9] |
n |
|
[10,17] |
10(n-9)+9 |
|
[18,24] |
100*(n-17)+89 |
|
[25,30] |
1000*(n-24)+789 |
|
[31,35] |
10000*(n-30)+6789 |
|
[36,39] |
100000*(n-35)+56789 |
|
[40,42] |
1000000*(n-39)+456789 |
|
[43,44] |
10000000*(n-42)+3456789 |
|
45 |
123456789 |
|
大于45 |
无解 |
|
n |
最大值 |
|
[1,2] |
10*n |
|
[3,5] |
(n-1)*100+10 |
|
[6,9] |
(n-3)*1000+210 |
|
[10,14] |
(n-6)*10000+3210 |
|
[15,20] |
(n-10)*100000+43210 |
|
[21,27] |
(n-15)*1000000+543210 |
|
[28,35] |
(n-21)*10000000+6543210 |
|
[36,44] |
(n-28)*100000000+76543210 |
|
45 |
9876543210 |
|
大于45 |
无解 |
浙公网安备 33010602011771号