韓信點兵是一個有趣的遊戲,如果你隨便拿一把棋子(數目在100粒左右),先3粒3粒數,不滿3粒的記下餘數;再5粒5粒數,不滿5粒的記下餘數;最後7粒7粒地數,也把餘數記下來。然後根據每次的餘數,就可以知道你原來拿的棋子總共有多少。
如:3個一數餘1粒,5個一數餘2粒,7個一數餘2粒,那麼原有棋子是多少呢?
它的演算法很簡單,而且在中國古代就有。宋朝周密叫它“鬼谷算”或“隔牆算”;楊輝叫它“剪管術”;而“韓信點兵”是較通行的名稱。至於它的演算法,在《孫子算經》上早有說明,後來在宋朝經過數學家秦九韶的推廣,又發現了一種演算法,叫“大衍一術”。這就是外華人所稱的“中國剩餘定理”,是數學史上極有名的問題。
那麼到底怎樣來計算呢?
A×70+b×21+c×15-105
其中a、b、c分別為3個、5個、7個一數的餘數。如果得出數還是比105大,就再減去105,一直到得數比105小為止。
因此你可以很容易地知道,前面問題的答案了
1×70+2×21+2×15-105=37(粒)。
那麼“韓信點兵”裡為什麼要3個一數,5個一數,7個一數呢?周其它的數可以嗎?我們先研究一下“韓信點兵”的解法“70a+21b+15c-105”。
我們先來看一下70、21、15、105這4個數和3、5、7之間的關係:
(1)70=2×5×7,70=3×23+1,所以70是5和7的一個公倍數,它被3除後餘數是1.
(2)同理,21是3與7的一個公倍數,它被5除後餘數是1.
(3)15是3與5的一個公倍數,它被7除後餘數是1.
(4)105=3×5×7,是3、5、7的最小公倍數。
根據上面的這些關係,“70a+21b+15c-105”確實是所求的得數。所以,70a+21b+15c-105被3除的餘數是1。據同樣的道理,這個數被5除後的餘數是2,被7除後餘數是2.
那麼,“韓信點兵”裡為什麼要用3、5、7這三個數呢?我們知道,3、5、7中任意兩個數的最大公約數都是1,也就是說是兩兩互素。於是就可以找到這樣一個數,是3、5、7其中兩個數的公倍數,而被另一個數除後餘數是1,類似70、21、15。這也就是“韓信點兵”中的三個數的要求。
那麼不是兩兩互素的數,是不是就一定找不到類似70、21、15的數呢?如4、6、7這三個數,4與6不是互素,它們的最大公約數是2,而6與7的任何一個公倍數都是偶數,被偶數4除後的餘數也一定是偶數,而不可能是1,所以是找到與70、21、15相當的三個數的。因此在“韓信點兵”裡就不能用。
我們也可以不用3、5、7這三個數,而換成其它兩兩互素的數,如2、3、11.這時的計算式是“33a+22b+12c-66”。不信的話,你可以用上文中的例子試一試,看是不是37粒。
韓信點兵是一個有趣的遊戲,如果你隨便拿一把棋子(數目在100粒左右),先3粒3粒數,不滿3粒的記下餘數;再5粒5粒數,不滿5粒的記下餘數;最後7粒7粒地數,也把餘數記下來。然後根據每次的餘數,就可以知道你原來拿的棋子總共有多少。
如:3個一數餘1粒,5個一數餘2粒,7個一數餘2粒,那麼原有棋子是多少呢?
它的演算法很簡單,而且在中國古代就有。宋朝周密叫它“鬼谷算”或“隔牆算”;楊輝叫它“剪管術”;而“韓信點兵”是較通行的名稱。至於它的演算法,在《孫子算經》上早有說明,後來在宋朝經過數學家秦九韶的推廣,又發現了一種演算法,叫“大衍一術”。這就是外華人所稱的“中國剩餘定理”,是數學史上極有名的問題。
那麼到底怎樣來計算呢?
A×70+b×21+c×15-105
其中a、b、c分別為3個、5個、7個一數的餘數。如果得出數還是比105大,就再減去105,一直到得數比105小為止。
因此你可以很容易地知道,前面問題的答案了
1×70+2×21+2×15-105=37(粒)。
那麼“韓信點兵”裡為什麼要3個一數,5個一數,7個一數呢?周其它的數可以嗎?我們先研究一下“韓信點兵”的解法“70a+21b+15c-105”。
我們先來看一下70、21、15、105這4個數和3、5、7之間的關係:
(1)70=2×5×7,70=3×23+1,所以70是5和7的一個公倍數,它被3除後餘數是1.
(2)同理,21是3與7的一個公倍數,它被5除後餘數是1.
(3)15是3與5的一個公倍數,它被7除後餘數是1.
(4)105=3×5×7,是3、5、7的最小公倍數。
根據上面的這些關係,“70a+21b+15c-105”確實是所求的得數。所以,70a+21b+15c-105被3除的餘數是1。據同樣的道理,這個數被5除後的餘數是2,被7除後餘數是2.
那麼,“韓信點兵”裡為什麼要用3、5、7這三個數呢?我們知道,3、5、7中任意兩個數的最大公約數都是1,也就是說是兩兩互素。於是就可以找到這樣一個數,是3、5、7其中兩個數的公倍數,而被另一個數除後餘數是1,類似70、21、15。這也就是“韓信點兵”中的三個數的要求。
那麼不是兩兩互素的數,是不是就一定找不到類似70、21、15的數呢?如4、6、7這三個數,4與6不是互素,它們的最大公約數是2,而6與7的任何一個公倍數都是偶數,被偶數4除後的餘數也一定是偶數,而不可能是1,所以是找到與70、21、15相當的三個數的。因此在“韓信點兵”裡就不能用。
我們也可以不用3、5、7這三個數,而換成其它兩兩互素的數,如2、3、11.這時的計算式是“33a+22b+12c-66”。不信的話,你可以用上文中的例子試一試,看是不是37粒。