韓 信 點(diǎn) 兵
韓信點(diǎn)兵是一個(gè)有趣的游戲,如果你隨便拿一把棋子(數(shù)目在100粒左右),先3粒3粒數(shù),不滿3粒的記下余數(shù);再5粒5粒數(shù),不滿5粒的記下余數(shù);最后7粒7粒地?cái)?shù),也把余數(shù)記下來(lái)。然后根據(jù)每次的余數(shù),就可以知道你原來(lái)拿的棋子總共有多少。
如:3個(gè)一數(shù)余1粒,5個(gè)一數(shù)余2粒,7個(gè)一數(shù)余2粒,那么原有棋子是多少呢?
它的算法很簡(jiǎn)單,而且在我國(guó)古代就有。宋朝周密叫它“鬼谷算”或“隔墻算”;楊輝叫它“剪管術(shù)”;而“韓信點(diǎn)兵”是較通行的名稱。至于它的算法,在《孫子算經(jīng)》上早有說(shuō)明,后來(lái)在宋朝經(jīng)過(guò)數(shù)學(xué)家秦九韶的推廣,又發(fā)現(xiàn)了一種算法,叫“大衍一術(shù)”。這就是外國(guó)人所稱的“中國(guó)剩余定理”,是數(shù)學(xué)史上極有名的問(wèn)題。
那么到底怎樣來(lái)計(jì)算呢?
A×70+b×21+c×15-105
其中a、b、c分別為3個(gè)、5個(gè)、7個(gè)一數(shù)的余數(shù)。如果得出數(shù)還是比105大,就再減去105,一直到得數(shù)比105小為止。
因此你可以很容易地知道,前面問(wèn)題的答案了
1×70+2×21+2×15-105=37(粒)。
那么“韓信點(diǎn)兵”里為什么要3個(gè)一數(shù),5個(gè)一數(shù),7個(gè)一數(shù)呢?周其它的數(shù)可以嗎?我們先研究一下“韓信點(diǎn)兵”的解法
“70a+21b+15c-105”。
我們先來(lái)看一下70、21、15、105這4個(gè)數(shù)和3、5、7之間的關(guān)系:
(1)70=2×5×7,70=3×23+1,所以70是5和7的一個(gè)公倍數(shù),它被
3除后余數(shù)是1.
(2)同理,21是3與7的一個(gè)公倍數(shù),它被5除后余數(shù)是1.
(3)15是3與5的一個(gè)公倍數(shù),它被7除后余數(shù)是1.
(4)105=3×5×7,是3、5、7的最小公倍數(shù)。
根據(jù)上面的這些關(guān)系,“70a+21b+15c-105”確實(shí)是所求的得數(shù)。
所以,70a+21b+15c-105被3除的余數(shù)是1。據(jù)同樣的道理,這個(gè)數(shù)被5除后的余數(shù)是2,被7除后余數(shù)是2.
那么,“韓信點(diǎn)兵”里為什么要用3、5、7這三個(gè)數(shù)呢?
我們知道,3、5、7中任意兩個(gè)數(shù)的最大公約數(shù)都是1,也就是說(shuō)是兩兩互素。
于是就可以找到這樣一個(gè)數(shù),是3、5、7其中兩個(gè)數(shù)的公倍數(shù),而被另一個(gè)數(shù)除后余數(shù)是1,類(lèi)似70、21、15。這也就是“韓信點(diǎn)兵”中的三個(gè)數(shù)的要求。
那么不是兩兩互素的數(shù),是不是就一定找不到類(lèi)似70、21、15的數(shù)呢?
如4、6、7這三個(gè)數(shù),4與6不是互素,它們的最大公約數(shù)是2,而6與7的任何一個(gè)公倍數(shù)都是偶數(shù),被偶數(shù)4除后的余數(shù)也一定是偶數(shù),而不可能是1,所以是找到與70、21、15相當(dāng)?shù)娜齻€(gè)數(shù)的。因此在“韓信點(diǎn)兵”里就不能用。
我們也可以不用3、5、7這三個(gè)數(shù),而換成其它兩兩互素的數(shù),如2、3、11.這時(shí)的計(jì)算式是“33a+22b+12c-66”。不信的話,你可以用上文中的例子試一試,看是不是37粒。
中國(guó)剩余定理(Chinese Remainder
Theorem)在近代抽象代數(shù)學(xué)中占有一席非常重要的地位。 我國(guó)漢代有一位大將,名叫韓信。他每次集合部隊(duì),都要求部下報(bào)三次數(shù),第一次按1~3報(bào)數(shù),第二次按1~5報(bào)數(shù),第三次按1~7報(bào)數(shù),每次報(bào)數(shù)后都要求最后一個(gè)人報(bào)告他報(bào)的數(shù)是幾,這樣韓信就知道一共到了多少人。他的這種巧妙算法,人們稱為“鬼谷算”、 “隔墻算”、“秦王暗點(diǎn)兵”等。到了明代,數(shù)學(xué)家程大位把這個(gè)問(wèn)題的算法編成了四句歌訣:
三人同行七十稀,
五樹(shù)梅花廿一枝,
七子團(tuán)圓正半月,
除百零五便得知。
這就是韓信點(diǎn)兵的計(jì)算方法,它的意思是:凡是用3個(gè)一數(shù)剩下的余數(shù),將它用70去乘(因?yàn)?/span>70是5與7的倍數(shù),而又是以3去除余1的數(shù));5個(gè)一數(shù)剩下的余數(shù),將它用21去乘(因?yàn)?/span>21是3與7的倍數(shù),又是以5去除余1的數(shù));7個(gè)一數(shù)剩下的余數(shù),將它用15去乘(因?yàn)?/span>15是3與5的倍數(shù),又是以7去除余 1的數(shù)),將這些數(shù)加起來(lái),若超過(guò)105,就減掉105,如果剩下來(lái)的數(shù)目還是比105大,就再減去105,直到得數(shù)比105小為止。這樣,所得的數(shù)就是原來(lái)的數(shù)了。
聯(lián)系客服