韓信點兵演算法

2021-04-16 18:46:00 字數 484 閱讀 5416

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

首先找出能被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是滿足題目要求的乙個數。 

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

秦朝末年,楚漢相爭。一次,韓信將1500名將士與楚王大將李鋒交戰。苦戰一場,楚軍不敵,敗退回營,漢軍也死傷四五百人,於是韓信整頓兵馬也返回大本營。當行至一山坡,忽有後軍來報,說有楚軍騎兵追來。只見遠方塵土飛揚,殺聲震天。漢軍本來已十分疲憊,這時隊伍大譁。韓信兵馬到坡頂,見來敵不足五百騎,便急速點兵迎...

韓信點兵演算法

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

韓信點兵演算法

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