複製鏈接
請複製以下鏈接發送給好友

韓信點兵

(成語)

鎖定
韓信點兵的成語來源淮安民間傳説。常與多多益善搭配。寓意越多越好。
劉邦問他:“你覺得我可以帶兵多少?”
韓信:“最多十萬。”
劉邦不解的問:“那你呢?”
韓信自豪地説:“越多越好,多多益善嘛!
劉邦半開玩笑半認真的説:“那我不是打不過你?”
韓信説:“不,主公是駕馭將軍的人才,不是駕馭士兵的,而將士們是專門訓練士兵的。”
中文名
韓信點兵
涉及人物
劉邦、韓信
傳説來源
江蘇淮安
相關成語
韓信點兵,多多益善

韓信點兵成語故事

淮安民間傳説着一則故事——“韓信點兵”,其次有成語“韓信點兵,多多益善”。
韓信帶1500名兵士打仗,戰死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出3人。韓信很快説出人數:1004。

韓信點兵算術題目

在一千多年前的《孫子算經》中,有這樣一道算術題:“今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?”按照今天的話來説:一個數除以3餘2,除以5餘3,除以7餘2,求這個數。這樣的問題,也有人稱為“韓信點兵”。它形成了一類問題,也就是初等數論中的解同餘式
①有一個數,除以3餘2,除以4餘1,問這個數除以12餘幾?
解:除以3餘2的數有:2,5,8,11,14,17,20,23……
它們除以12的餘數是:2,5,8,11,2,5,8,11……
除以4餘1的數有:1,5,9,13,17,21,25,29……
它們除以12的餘數是:1,5,9,1,5,9……
一個數除以12的餘數是唯一的.上面兩行餘數中,只有5是共同的,因此這個數除以12的餘數是5。如果我們把①的問題改變一下,不求被12除的餘數,而是求這個數。很明顯,滿足條件的數是很多的,它是5+12×整數,整數可以取0,1,2,……,無窮無盡。
事實上,我們首先找出5後,注意到12是3與4的最小公倍數,再加上12的整數倍,就都是滿足條件的數.這樣就是把“除以3餘2,除以4餘1”兩個條件合併成“除以12餘5”一個條件。
孫子算經》提出的問題有三個條件,我們可以先把兩個條件合併成一個.然後再與第三個條件合併,就可找到答案。
②一個數除以3餘2,除以5餘3,除以7餘2,求符合條件的最小數。
解:先列出除以3餘2的數:2,5,8,11,14,17,20,23,26……
再列出除以5餘3的數:3,8,13,18,23,28……
這兩列數中,首先出現的公共數是8。3與5的最小公倍數是15。兩個條件合併成一個就是8+15×整數,列出這一串數是8,23,38,……,再列出除以7餘2的數2,9,16,23,30……就得出符合題目條件的最小數是23。
事實上,我們已把題目中三個條件合併成一個:被105除餘23。
用C語言來表達這個算法:
#include<cstdio>
int main()
{
    int a=0,b=0,c=0,x;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d%d%d\n",a,b,c);
    for(x=10;x<=100;x++)
        if(x%3==a&&x%5==b&&x%7==c)
        {
            printf("%d",x);
            break;
        }
        else if(x==100)
            printf("noanswer\n");
    return 0;
}