-
韩信点兵 编辑
韩信点兵的成语来源淮安民间传说。常与多多益善搭配。寓意越多越好。
刘邦问他:“你觉得我可以带兵多少?”
韩信:“最多十万。”
刘邦不解的问:“那你呢?”
韩信自豪地说:“越多越好,多多益善嘛!
刘邦半开玩笑半认真的说:“那我不是打不过你?”
韩信说:“不,主公是驾驭将军的人才,不是驾驭士兵的,而将士们是专门训练士兵的。”
中文名:韩信点兵
涉及人物:刘邦、韩信
传说来源:江苏淮安
相关成语:韩信点兵,多多益善
韩信带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出3人。韩信很快说出人数:1004。
①有一个数,除以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; }
1、本站所有文本、信息、视频文件等,仅代表本站观点或作者本人观点,请网友谨慎参考使用。
2、本站信息均为作者提供和网友推荐收集整理而来,仅供学习和研究使用。
3、对任何由于使用本站内容而引起的诉讼、纠纷,本站不承担任何责任。
4、如有侵犯你版权的,请来信(邮箱:baike52199@gmail.com)指出,核实后,本站将立即删除。