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

韓信點兵演算法

發布時間:2022-02-13 02:42:39

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

韓信點兵演算法流程圖
韓信點兵是一個有趣的猜數游戲。如果你隨便拿一把蠶豆(數目約在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年代被解決了,這是近代數學的五個重大成就。據證明人說,在解決問題的過程中,他是受到了「中國剩餘定理」的啟發的。

2. 韓信點兵 演算法 Vb程序

窗口載入過程()
iNum.文本 = 「」
oNum.標題 = 「」
結束過程

按鈕1被單擊事件
定義變數 x 為整數型
x = 到數值(iNum.文本)
判斷循環首( x 除105 取余數 不等於 0) 則
x = x-1
循環判斷尾
oNum.標題 = x -1
結束過程

3. 韓信點兵的方法

韓信點兵

作者:jianhao

漢高祖劉邦曾問大將韓信:「你看我能帶多少兵?」韓信斜了劉邦一眼說:「你頂多能帶十萬兵吧!」漢高祖心中有三分不悅,心想:你竟敢小看我!「那你呢?」韓信傲氣十足地說:「我呀,當然是多多益善啰!」劉邦心中又添了三分不高興,勉強說:「將軍如此大才,我很佩服。現在,我有一個小小的問題向將軍請教,憑將軍的大才,答起來一定不費吹灰之力的。」韓信滿不在乎地說:「可以可以。」劉邦狡黠地一笑,傳令叫來一小隊士兵隔牆站隊,劉邦發令:「每三人站成一排。」隊站好後,小隊長進來報告:「最後一排只有二人。」「劉邦又傳令:「每五人站成一排。」小隊長報告:「最後一排只有三人。」劉邦再傳令:「每七人站成一排。」小隊長報告:「最後一排只有二人。」劉邦轉臉問韓信:「敢問將軍,這隊士兵有多少人?」韓信脫口而出:「二十三人。」劉邦大驚,心中的不快已增至十分,心想:「此人本事太大,我得想法找個岔子把他殺掉,免生後患。」一面則佯裝笑臉誇了幾句,並問:「你是怎樣算的?」韓信說:「臣幼得黃石公傳授《孫子算經》,這孫子乃鬼穀子的弟子,算經中載有此題之演算法,口訣是:

三人同行七十稀,

五樹梅花開一枝,

七子團圓正月半,

除百零五便得知。」

劉邦出的這道題,可用現代語言這樣表述:

「一個正整數,被3除時餘2,被5除時餘3,被7除時餘2,如果這數不超過100,求這個數。」

《孫子算經》中給出這類問題的解法:「三三數之剩二,則置一百四十;五五數之剩三,置六十三;七七數之剩二,置三十;並之得二百三十三,以二百一十減之,即得。凡三三數之剩一,則置七十;五五數之剩一,則置二十一;七七數之剩一,則置十五,一百六以上,以一百五減之,即得。」用現代語言說明這個解法就是:

首先找出能被5與7整除而被3除餘1的數70,被3與7整除而被5除餘1的數21,被3與5整除而被7除餘1的數15。

所求數被3除餘2,則取數70×2=140,140是被5與7整除而被3除餘2的數。

所求數被5除餘3,則取數21×3=63,63是被3與7整除而被5除餘3的數。

所求數被7除餘2,則取數15×2=30,30是被3與5整除而被7除餘2的數。

又,140+63+30=233,由於63與30都能被3整除,故233與140這兩數被3除的余數相同,都是餘2,同理233與63這兩數被5除的余數相同,都是3,233與30被7除的余數相同,都是2。所以233是滿足題目要求的一個數。

而3、5、7的最小公倍數是105,故233加減105的整數倍後被3、5、7除的余數不會變,從而所得的數都能滿足題目的要求。由於所求僅是一小隊士兵的人數,這意味著人數不超過100,所以用233減去105的2倍得23即是所求。

這個演算法在我國有許多名稱,如「韓信點兵」,「鬼谷算」,「隔牆算」,「剪管術」,「神奇妙算」等等,題目與解法都載於我國古代重要的數學著作《孫子算經》中。一般認為這是三國或晉時的著作,比劉邦生活的年代要晚近五百年,演算法口訣詩則載於明朝程大位的《演算法統宗》,詩中數字隱含的口訣前面已經解釋了。宋朝的數學家秦九韶把這個問題推廣,並把解法稱之為「大衍求一術」,這個解法傳到西方後,被稱為「孫子定理」或「中國剩餘定理」。而韓信,則終於被劉邦的妻子呂後誅殺於未央宮。

請你試一試,用剛才的方法解下面這題:

一個數在200與400之間,它被3除餘2,被7除餘3,被8除餘5,求該數。

(解:112×2+120×3+105×5+168k,取k=-5得該數為269。)

什麼叫做「韓信點兵」?

韓信點兵是一個有趣的猜數游戲。如果你隨便拿一把蠶豆(數目約在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個一數剩下的余數,將它用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年代被解決了,這是近代數學的五個重大成就。據證明人說,在解決問題的過程中,他是受到了「中國剩餘定理」的啟發的。

4. 鬼谷算韓信點兵怎麼算

變成一個純粹的數學問題就是:有一個數,用3除餘2,用5除餘3,用7除餘2。求這個數。 這個問題很簡單:用3除餘2,用7除也餘2,所以用3與7的最小公倍數21除也餘2,而用21除餘2的數我們首先就會想到23;23恰好被5除餘3,所以23就是本題的一個答案。

5. 韓信點兵法的演算法是什麼意思要詳細!

寓意越多越好。

6. 韓信點兵演算法

參考:blog.163.com/get_lose/blog/static/10008014920136254339773

7. 韓信點兵

樓主,是韓信點兵-多多益善

漢高祖劉邦曾問大將韓信:「你看我能帶多少兵?」韓信斜了劉邦一眼說:「你頂多能帶十萬兵吧!」漢高祖心中有三分不悅,心想:你竟敢小看我!「那你呢?」韓信傲氣十足地說:「我呀,當然是多多益善啰!」劉邦心中又添了三分不高興,勉強說:「將軍如此大才,我很佩服。現在,我有一個小小的問題向將軍請教,憑將軍的大才,答起來一定不費吹灰之力的。」韓信滿不在乎地說:「可以可以。」劉邦狡黠地一笑,傳令叫來一小隊士兵隔牆站隊,劉邦發令:「每三人站成一排。」隊站好後,小隊長進來報告:「最後一排只有二人。」「劉邦又傳令:「每五人站成一排。」小隊長報告:「最後一排只有三人。」劉邦再傳令:「每七人站成一排。」小隊長報告:「最後一排只有二人。」劉邦轉臉問韓信:「敢問將軍,這隊士兵有多少人?」韓信脫口而出:「二十三人。」劉邦大驚,心中的不快已增至十分,心想:「此人本事太大,我得想法找個岔子把他殺掉,免生後患。」一面則佯裝笑臉誇了幾句,並問:「你是怎樣算的?」韓信說:「臣幼得黃石公傳授《孫子算經》,這孫子乃鬼穀子的弟子,算經中載有此題之演算法,口訣是:

三人同行七十稀,

五樹梅花開一枝,

七子團圓正月半,

除百零五便得知。」

劉邦出的這道題,可用現代語言這樣表述:

「一個正整數,被3除時餘2,被5除時餘3,被7除時餘2,如果這數不超過100,求這個數。」

《孫子算經》中給出這類問題的解法:「三三數之剩二,則置一百四十;五五數之剩三,置六十三;七七數之剩二,置三十;並之得二百三十三,以二百一十減之,即得。凡三三數之剩一,則置七十;五五數之剩一,則置二十一;七七數之剩一,則置十五,一百六以上,以一百五減之,即得。」用現代語言說明這個解法就是:

首先找出能被5與7整除而被3除餘1的數70,被3與7整除而被5除餘1的數21,被3與5整除而被7除餘1的數15。

所求數被3除餘2,則取數70×2=140,140是被5與7整除而被3除餘2的數。

所求數被5除餘3,則取數21×3=63,63是被3與7整除而被5除餘3的數。

所求數被7除餘2,則取數15×2=30,30是被3與5整除而被7除餘2的數。

又,140+63+30=233,由於63與30都能被3整除,故233與140這兩數被3除的余數相同,都是餘2,同理233與63這兩數被5除的余數相同,都是3,233與30被7除的余數相同,都是2。所以233是滿足題目要求的一個數。

而3、5、7的最小公倍數是105,故233加減105的整數倍後被3、5、7除的余數不會變,從而所得的數都能滿足題目的要求。由於所求僅是一小隊士兵的人數,這意味著人數不超過100,所以用233減去105的2倍得23即是所求。

這個演算法在我國有許多名稱,如「韓信點兵」,「鬼谷算」,「隔牆算」,「剪管術」,「神奇妙算」等等,題目與解法都載於我國古代重要的數學著作《孫子算經》中。一般認為這是三國或晉時的著作,比劉邦生活的年代要晚近五百年,演算法口訣詩則載於明朝程大位的《演算法統宗》,詩中數字隱含的口訣前面已經解釋了。宋朝的數學家秦九韶把這個問題推廣,並把解法稱之為「大衍求一術」,這個解法傳到西方後,被稱為「孫子定理」或「中國剩餘定理」。而韓信,則終於被劉邦的妻子呂後誅殺於未央宮。
希望對你有幫助!

8. 韓信點兵(數學+編程

算出3 ,5,7的最小公倍數 再-1!!!! 這是演算法!!!至於為什麼?自己研究才能過目不忘!!

9. 韓信點兵的計算公式是什麼

古代時候有個《孫子算經》有幾句乘法口訣:三人同行七十稀, 五樹梅花廿一枝, 七子團圓正半月, 除百零五便得知。 意思是 3人一數剩下余數*70。5人一數剩下余數*21。七人一數剩下余數*15。然後+105.加到你感覺對啦就知道了。因為已知死了四五百了。

所以演算法是這樣的:2*70+4*21+6*15=314人

314+105+105+105+105+105+105+105=1049人。

閱讀全文

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

熱點內容
pdf掛件 瀏覽:135
linux驅動隊列 瀏覽:452
java程序員答錯題 瀏覽:432
遮陽網黑色加密 瀏覽:856
粉紅色的文件夾用英語怎麼說 瀏覽:347
手機桌面文件夾整理怎麼備注名稱 瀏覽:870
primepdf 瀏覽:185
php獲取登錄ip 瀏覽:987
汽車前擋風玻璃與中控台加密封條 瀏覽:592
程序員轉行做家居 瀏覽:248
網頁怎麼安裝app 瀏覽:797
電子愛好者單片機作品 瀏覽:233
es文件夾瀏覽軟體 瀏覽:495
怎麼把app商店換成外國的 瀏覽:103
中國人保app怎麼綁銀行卡 瀏覽:328
文件打開命令錯誤 瀏覽:609
粗矩形命令 瀏覽:419
選擇ghost壓縮率 瀏覽:721
程序員那麼可愛陸離出國哪一集 瀏覽:832
彎曲命令 瀏覽:409