導航:首頁 > 源碼編譯 > 韓信亂點兵如何演算法

韓信亂點兵如何演算法

發布時間:2023-07-23 03:30:39

㈠ 什麼是「韓信點兵"計演算法

韓信點兵演算法流程圖
韓信點兵是一個有趣的猜數游戲。如果你隨便拿一把蠶豆(數目約在100粒左右),先3粒3粒地數,直到不滿3粒時,把余數記下來;第二次再5粒5粒地數,最後把余數記下來;第三次是7粒一數,把余數記下來。然後根據每次的余數,就可以知道你原來拿了多少粒蠶豆了。不信的話,你還可以試驗一下。例如,假如3粒一數餘1粒,5粒一數餘2粒,7粒一數餘2粒,那麼,原有蠶豆有多少粒呢? 這類題目看起來是很難計算的,可是我國古時候卻流傳著一種演算法,名稱也很多,宋朝周密叫它「鬼谷算」,又名「隔牆算」;楊輝叫它「剪管術」;而比較通行的名稱是「韓信點兵」。最初記述這類演算法的是一本名叫《孫子算經》的書,後來在宋朝經過數學家秦九韶的推廣,又發現了一種演算法,叫做「大衍求一術」。這在數學史上是極有名的問題,外國人一般把它稱為「中國剩餘定理」。至於它的演算法,在《孫子算經》上就已經有了說明,而且後來還流傳著這么一道歌訣:
三人同行七十稀,
五樹梅花廿一枝,
七子團圓正半月,
除百零五便得知。
這就是韓信點兵的計算方法,它的意思是:凡是用3個一數剩下的余數,將它用70去乘(因為70是5與7的倍數,而又是以3去除餘1的數);5個一數剩下的余數,將它用21去乘(因為21是3與7的倍數,又是以5去除餘1的數);7個一數剩下的余數,將它
1/2
用15去乘(因為15是3與5的倍數,又是以7去除餘1的數),將這些數加起來,若超過105,就減掉105,如果剩下來的數目還是比105大,就再減去105,直到得數比105小為止。這樣,所得的數就是原來的數了。根據這個道理,你可以很容易地把前面的五個題目列成算式:
1×70+2×21+2×15-105
=142-105
=37
因此,你可以知道,原來這一堆蠶豆有37粒。
1900年,德國大數學家大衛希爾伯特歸納了當時世界上尚未解決的最困難的23個難題。後來,其中的第十問題在70年代被解決了,這是近代數學的五個重大成就。據證明人說,在解決問題的過程中,他是受到了「中國剩餘定理」的啟發的。

閱讀全文

與韓信亂點兵如何演算法相關的資料

熱點內容
java中讀取資料庫中數據 瀏覽:238
程序員買基金准則 瀏覽:257
伺服器連接到雲服務 瀏覽:294
程序員大笑的原因 瀏覽:79
騰訊雲伺服器充值費入什麼科目 瀏覽:760
如何解決我的世界國際版伺服器卡頓問題 瀏覽:420
27x25x40簡便計演算法 瀏覽:262
玩客雲伺服器怎麼樣 瀏覽:523
光遇安卓第一季叫什麼 瀏覽:328
怎麼用c語言編譯熊貓頭 瀏覽:383
百度雲解壓教程視頻 瀏覽:365
二本程序員考公務員 瀏覽:180
壓縮機啟動器價格 瀏覽:66
caj如何轉為pdf 瀏覽:378
單片機程序消隱的作用 瀏覽:660
php最出名的論壇 瀏覽:213
花生殼映射linux 瀏覽:758
空調壓縮機曲軸加工 瀏覽:564
流水線plc編程 瀏覽:846
利用rsa演算法對文件加密 瀏覽:820