前言:
当前你们对“大数相乘算法题”大约比较注重,同学们都需要剖析一些“大数相乘算法题”的相关知识。那么小编也在网摘上收集了一些有关“大数相乘算法题””的相关知识,希望小伙伴们能喜欢,咱们快快来学习一下吧!最近有小伙伴问了这样一道思考题:用1、2、3、4、5这五个数字组成一个两位数和一个三位数。要使乘积最大,应该是哪两个数相乘?要使乘积最小又是哪两个数相乘呢?
相信很多同学为这道题伤了不少脑细胞,觉得这类型的题目,只能意会不可言传。今天就请听我为你一一道来其中的规律和奥秘。
01
一、所给数字个数为奇数个
下文以“用1、2、3、4、5这五个数字组成一个两位数和一个三位数,使乘积最大、最小”为例来讲解。
1、乘积最大情况
要使两个数相乘乘积最大,必须符合下面两个原则:
(1)大数尽可能排在高位;
(2)两个数的差尽可能小。
根据这两个原则,使乘积最大的算式可以如下具体操作:
(1)把这些数字按照从大到小的顺序排列;如:5,4,3,2,1
(2)从左边起,每两位一分级;如:5,4,丨3,2,丨1
(3)大数后面跟小数,小数后面跟大数。即从左边起第一级的两个数字分别放在两个乘数的最高位上。若一个乘数最高位放了第一级中的较大数,那么该乘数后面跟剩余每一级中的较小数;相应的另一个乘数最高位放了第一级中的较小数,那个该乘数后面跟剩余每一级中的较大数。如:一个乘数排52……;另一个乘数排43……(有点绕口,请动笔试一试^_^)
此时同学们可能有疑问了,最后一级上还有一个数字1,放在哪个乘数里合适?
(4)最后一级中只有一个数字,则可以看做是剩下那个数字与“0”进行比较,剩下的数字比“0”大,所以这个数字排在第一级的较小数后面(也即为上文中的第二个乘数)。
因此,所排列出的两个乘数分别为:52和143,此时乘积最大为52×143=7436。
同学们可以用上述方法验证下面这道题。
用2,5,6,8,9这五个数字组成一个三位数和一个两位数,乘积最大是95×862=81890。
这时有同学可能又会提出,这5个各不相同的数字中如果含有0,要怎样排乘积才能最大呢?
按照上述方法,仍然将各不相同的5个数按照从大到小的顺序排列起来,然后并分成3级,最后一级只有一个0,而0和“0”一样大,故这个0可以放在任意一个乘数的后面。如:用0、2、3、4、5这五个数字组成一个两位数和一个三位数,使乘积最大。先从大到小排列,并左起每两位一级分级,5,4,3,2,0,则乘积最大的乘法算式为:52×430=22360或520×43=223600。
2、乘积最小情况
要使两个数相乘乘积最小,必须符合下面两个原则:
(1)小数尽可能排在高位;
(2)两个数的差尽可能大。
根据这两个原则,使乘积最小的算式可以如下具体操作:
(1)把这些数字从小到大排列起来;如:1,2,3,4,5
(2) 从左边起,每两位一级分级;如:1,2,丨3,4,丨5
(3)大数后面跟大数,小数后面跟小数。即从左边起第一级的两个数字分别放在两个乘数的最高位上。若一个乘数最高位放了第一级中的较小数,那么该乘数后面跟剩余每一级中的较小数;相应的另一个乘数最高位放了第一级中的较大数,那个该乘数后面跟剩余每一级中的较大数。如:一个乘数排13……;另一个乘数排24……(有点绕口,请动笔试一试^_^)
(4)最后一级中只有一个数字,则可以看做是剩下那个数字与“0”进行比较,剩下的数字比“0”大,所以这个数字排在第一级的较大数后面(也即为上文中的第二个乘数)。
因此,所排列出的两个乘数分别为:13和245,此时乘积最小为13×245=3185。
同学们可以用上述方法验证下面这道题。
用2,5,6,8,9这五个数字组成一个三位数和一个两位数,乘积最小是26×589=15314。
如果5个各不相同的数字中如果含有0,要怎样排乘积才能最小呢?
稍作比较就会发现5个各不相同的数字含有0,仍然先按从小到大的顺序排列,并从左起分成三级,因为0不能放在最高位,所以0只能左起第二级。如:用0、2、3、4、5这五个数字组成一个两位数和一个三位数,使乘积最小。先从小到大排列,把0放在左起的第三个数,并从左起每两位一级分级,2,3,0,4,5,则乘积最大的乘法算式为:20×345=6900。
以上为所给数字个数为奇数个时乘积最大、最小的算式排列方法。
02
二、所给数字个数为偶数个
当数字个数是偶数时,方法则更为简单。如果要排成乘积最大的算式,只要按以下的步骤即可。
下文以“用1,2,3,4,5,6这六个数字组成两个三位数,使乘积最大、最小”为例来讲解。
1、乘积最大情况
(1)把这些数字按照从大到小的顺序排列;如:6,5,4,3,2,1
(2)从左边起,每两位一分级;如:6,5,丨4,3,丨2,1
(3)大数后面跟小数,小数后面跟大数。即从左边起第一级的两个数字分别放在两个乘数的最高位上。若一个乘数最高位放了第一级中的较大数,那么该乘数后面跟剩余每一级中的较小数;相应的另一个乘数最高位放了第一级中的较小数,那个该乘数后面跟剩余每一级中的较大数。乘积最大的乘法算式为:631×542=342002。
2、乘积最小情况
(1)把这些数字从小到大排列起来;如:1,2,3,4,5,6
(2)从左边起,每两位一级分级;如:1,2,丨3,4,丨5,6
(3)大数后面跟大数,小数后面跟小数。即从左边起第一级的两个数字分别放在两个乘数的最高位上。若一个乘数最高位放了第一级中的较小数,那么该乘数后面跟剩余每一级中的较小数;相应的另一个乘数最高位放了第一级中的较大数,那个该乘数后面跟剩余每一级中的较大数。乘积最小的乘法算式为:135×246=33210。
以上为所给数字个数为偶数个时乘积最大、最小的算式排列方法。
组数问题中乘积最大、最小,你都会了吗?
标签: #大数相乘算法题