1. 程式人生 > >韓信點兵(中國剩餘定理)

韓信點兵(中國剩餘定理)

孫子算經中有記載:“今有數不知其數:二三數之餘而,五五之數餘三,七七數之餘而,問物幾何?”它的意思就是有一些物品,如果3個3個數
剩兩個,如果5個5個數,最後剩3個,如果7個個7個數,最後剩2個,求這些物品的數量,這個問題稱為孫子問題,西方數學家稱為中國剩餘定理
方法就是除3的餘數a乘上70,除5的餘數b乘上21,除7的餘數c乘上15,最後再取餘105
70,21,15實際上是一種巧妙的構造方法。
70是5和7的公約數,且被3除餘1
21是3和7的公約數,且被5除餘1
15是3和5的公約數,且被7除餘1
這樣結果這個數等於=70a+21b+15c就能保證被被3除餘a,且被5除餘b,且被7除餘c
比如,求除以5、7、11以後所得餘數為a,b,c.則這個數是:231a+330b+210c,然後對5×7×11=385取餘即可。