韓信點兵python演算法 韓信點兵演算法

2021-10-13 08:37:32 字數 618 閱讀 6888

秦朝末年,楚漢相爭。一次,韓信將1500名將士與楚王大將李鋒交戰。苦戰一場,楚軍不敵,敗退回營,漢軍也死傷四五百人,於是韓信整頓兵馬也返回大本營。當行至一山坡,忽有後軍來報,說有楚軍騎兵追來。只見遠方塵土飛揚,殺聲震天。漢軍本來已十分疲憊,這時隊伍大譁。韓信兵馬到坡頂,見來敵不足五百騎,便急速點兵迎敵。他命令士兵3人一排,結果多出2名;接著命令士兵5人一排,結果多出3名;他又命令士兵7人一排,結果又多出2名。韓信馬上向將士們宣布:我軍有1073名勇士,敵人不足五百,我們居高臨下,以眾擊寡,一定能打敗敵人。漢軍本來就信服自己的統帥,這一來更相信韓信是「神仙下凡」、「神機妙算」。於是士氣大振。一時間旌旗搖動,鼓聲喧天,漢軍步步進逼,楚軍亂作一團。交戰不久,楚軍大敗而逃。 [186]

首先先求5、9、13、17之最小公倍數9945(注:因為5、9、13、17為兩兩互質的整數,故其最小公倍數為這些數的積),然後再加3,得9948(人)。

簡單扼要總結:

1.算兩兩數之間的能整除數

2.算三個數的能整除數

3.用1中的三個整除數之和減去2中的整除數之差(有時候是倍數)

韓信帶1500名兵士打仗,戰死四五百人,站3人一排,多出2人;站5人一排,多出3人;站7人一排,多出2人。韓信馬上說出人數:1073

《韓信點兵演算法》

韓信點兵演算法

孫子算經 中給出這類問題的解法 三三數之剩二,則置一百四十 五五數之剩三,置六十三 七七數之剩二,置三十 並之得二百三十三,以二百一十減之,即得。凡三三數之剩一,則置七十 五五數之剩一,則置二十一 七七數之剩一,則置十五,一百六以上,以一百五減之,即得。用現代語言說明這個解法就是 首先找出能被5與7...

韓信點兵演算法

題目 韓信點兵 10 分 在中國數學史上,廣泛流傳著乙個 韓信點兵 的故事 韓信是漢高祖劉邦手下的大將,他英勇善戰,智謀超群,為漢朝建立了卓越的功勞。據說韓信的數學水平也非常高超,他在點兵的時候,為了知道有多少兵,同時又能保住軍事機密,便讓士兵排隊報數 按從1至5報數,記下最末乙個士兵報的數為1 再...

韓信點兵演算法

描述 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三人一排 五人一排 七人一排地變換隊形,而他每次只掠一眼隊伍的排尾就知道總人數了。輸入3個非負整數a,b,c 表示每種隊形排尾的人數 a 3,b 5,c 7 輸出總人數的最小值 或報告無解 已知總人數不小於10,不超過100 輸入 ...