《韩信点兵》公式
韩信点兵
简介:韩信点兵又称为中国剩余定理,乃由于相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。
刘邦茫然而不知其数。
韩信点兵是一个很有趣的猜数游戏,随便抓一把蚕豆粒,假若3个一数余1粒,5个一数余2粒,7个一数余2粒,那么所抓的蚕豆有多少粒?这类题目看起来是很难计算的,可是中国古时却流传着一种算法,它的名称也很多,宋朝周密叫它「鬼谷算」,又名「隔墙算」;杨辉叫它「剪管术」;而比较通行的名称是「韩信点兵」。
最初记述这类算法的是一本名叫「孙子算经」的书,后来在宋朝经过数学家秦九韶的推广,又发现了一种算法,叫做「大衍求一术」,流传到西洋以后,外国化称它是「中国剩余定理」,在数学史上是极有名的问题。
至于它的算法,在「孙子算经」上就已经有了说明:“凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置十五”,而且还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。
这就是韩信点兵的计算方法,《孙子算经》中给出了其中关键的步骤是:但在《孙子算经》中并没有说明求乘数的方法,直到1247年宋代数学家秦九韶在《数书九章》中才给出具体求法:70是5与7最小公倍的2倍,21、15分别是3与7、3与5最小公倍数的1倍。
秦九韶称这2、1、1的倍数为“乘率”,求出乘率,就可知乘数,意思是说:凡是用3个一数剩下的余数,将它用70去乘(因为70是5与7的倍数,而又是以3去除余1的),5个一数剩下的余数,将它用21去乘(因为21是3与7的倍数,又是以5去除余1的),7个一数剩下的余数,将它用15去乘(因为15是3与5的倍数,又是以7去除余1的),最后将70、5、15这些数加起来,若超过105,就再减掉105,所得的数便是原来的数了。
根据这个道理,你就可以很容易地把前面一个题目列成算式:1×70+2×21+2×15-105=142-105=37。
韩信点兵又称为中国剩余定理
簡介:韓信點兵又稱為中國剩餘定理,乃由於相傳漢高祖劉邦問大將軍韓信統御兵士多少,韓信答說,每3人一列餘1人、5人一列餘2人、7人一列餘4人、13人一列餘6人……。
劉邦茫然而不知其數。
韓信點兵是一個很有趣的猜數遊戲,隨便抓一把蠶豆粒,假若3個一數餘1粒,5個一數餘2粒,7個一數餘2粒,那麼所抓的蠶豆有多少粒?這類題目看起來是很難計算的,可是中國古時卻流傳著一種算法,它的名稱也很多,宋朝周密叫它「鬼谷算」,又名「隔牆算」;楊輝叫它「剪管術」;而比較通行的名稱是「韓信點兵」。
最初記述這類算法的是一本名叫「孫子算經」的書,後來在宋朝經過數學家秦九韶的推廣,又發現了一種算法,叫做「大衍求一術」,流傳到西洋以後,外國化稱它是「中國剩餘定理」,在數學史上是極有名的問題。
至於它的算法,在「孫子算經」上就已經有了說明:“凡三三數之剩一,則置七十;五五數之剩一,則置二十一;七七數之剩一,則置十五”,而且還流傳著這麼一首歌訣:三人同行七十稀,五樹梅花廿一枝,七子團圓正半月,除百零五便得知。
這就是韓信點兵的計算方法,《孫子算經》中給出了其中關鍵的步驟是:但在《孫子算經》中並沒有說明求乘數的方法,直到1247年宋代數學家秦九韶在《數書九章》中才給出具體求法:70是5與7最小公倍的2倍,21、15分別是3與7、3與5最小公倍數的1倍。
秦九韶稱這2、1、1的倍數為“乘率”,求出乘率,就可知乘數,意思是說:凡是用3個一數剩下的餘數,將它用70去乘(因為70是5與7的倍數,而又是以3去除餘1的),5個一數剩下的餘數,將它用21去乘(因為21是 3與 7的倍數,又是以5去除餘1的),7個一數剩下的餘數,將它用15去乘(因為15是3與5的倍數,又是以 7去除餘 1的),最後將70、5、15這些數加起來,若超過105,就再減掉105,所得的數便是原來的數了。
根據這個道理,你就可以很容易地把前面一個題目列成算式:1×70+2×21+2×15-105=142-105=37。
奥数韩信点兵
[阅读材料]世界名题与小升初之:韩信点兵问题在各类竞赛中,各类小升初考试中相关的世界名题出现的概率极高,这是由小升初与数学竞赛的特点决定,这特点便是:知识性,趣味性,思想性相结合。
例1:韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。
刘邦茫然而不知其数。
我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵有多少?首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然後再加3,得9948(人)这个数就满足要求。
韩信点兵问题,是后人对物不知其数问题的一种故事化。
这个问题俗为[韩信点兵],又叫做「秦王暗点兵」、「鬼谷算」、「隔墙算」、「剪管术」、「神奇妙算」、「大衍求一术」等等),它属于数论(Number theory) 中的「不定方程问题」(Indeterminate equations)。
例2:物不知其数问题出自一千六百年前我国古代数学名著《孙子算经》。
在《孙子算经》里(共三卷,据推测约成书于公元400年左右),下卷的第26题,就是鼎鼎有名的「孙子问题」原题为:"今有物不知其数,三三数之二,五五数之三,七七数之二,问物几何?"这道题的意思是:有一批物品,不知道有几件。
如果三件三件地数,就会剩下两件;如果五件五件地数,就会剩下三件;如果七件七件地数,也会剩下两件。
问:这批物品共有多少件?变成一个纯粹的数学问题就是:有一个数,用3除余2,用5除余3,用7除余2。
求这个数。
这个问题很简单:用3除余2,用7除也余2,所以用3与7的最小公倍数21除也余2,而用21除余2的数我们首先就会想到23;23恰好被5除余3,所以23就是本题的一个答案。
这个问题之所以简单,是由于有被3除和被7除余数相同这个特殊性。
韩信点兵类数学问题的独特解法
3
5
已知 , , 均为整数且均大于等于 1,因此 也为大于等于的 1 的整数,将(5)式 带入(3)可得下式
21 2
6
由(2)(6)可解出
4 因为 为大于 1 的整数,所以
1 6
5 1须能被 5 整除,因此 必有如下形式
51
7
这里 为整数,从而由(6)(7)可得 有如下形式
105 23
6
当 n 0 时即为满足条件的最小的数是 23。利用 Excel 表格计算功能可以直接求出 一系列满足条件的解,这里列出 0,1,2,3,4 ⋯ 10时的数据供大家参考。
233
77
46
33
2
338 112
67
48
2
443 147
88
63
2
548 182 109
78
2
653 217 130
93
2
758 252 151 108
2
863 287 172 123
2
968 322 193 138
2
1073 357 214 153
2
除数5 余数
R2 3 3 3 3 3 3 3 3 3 3 3
ݔൌ 3ܽ 2
ሺ1ሻ
ݔൌ 5ܾ 3
ሺ2ሻ
ݔൌ 7ܿ 2
ሺ3ሻ
这里有四个变量ݔ, ܽ, ܾ, ܿ,但只能列出 3 个方程,从方程组解的判据来说该方程组 可能有无限个解,如果再结合整数的性质,应该是可以求出可能的解。
首先,由方程(1)(3)可得式(4)
7
3
4
因为 为整数,所以由可知 必满足以下条件
采用逐步求解法几乎可直接求出该类问题的最小解,但还是比较费时费力。实际 上在两千多年《孙子算经》已经给出了简便的算法,明代的数学家程大位还把这个基 本算法编成了四句歌诀:
【2017年整理】韩信点兵问题的初等解法
【2017年整理】韩信点兵问题的初等解法“韩信点兵”问题的初等解法研究王晓东河北省卢龙县燕河营镇中学 066407韩信,是我国汉代刘邦手下的一员能征善战,智勇双全的大将。
历史上流传着一个关于他运用奇特方法点兵的传说。
有一天,韩信来到操练场,检阅士兵操练。
他问部将,今天有多少士兵操练,部将回答:“大约两千三百人。
”韩信走上点兵台,他先命全体士兵排成7路纵队,问最后一排剩几人,部将说,剩2人;他又命全体士兵排成5路纵队,问最后一排剩几人,部将说,剩3人;最后,他又让全体士兵排成3路纵队,问最后一排剩几人,部将说,剩2人。
韩信告诉部将,今天参加操练的士兵有2333人。
从现代数学的观点来看,解决韩信点兵问题,可以这样思考:设操练士兵的总数为M,则M=3x+2=5y+3=7z+2其中,x,y,z分别表示排成3路纵队,5路纵队,7路纵队的纵队数目。
求出了x,y,z以后,M也求求出来了。
而求x,y,z可以看成求方程组3x+2=5y+33x+2=7z+2的正整数解。
在上面的方程组中,未知数的个数多于方程的个数,则把这种方程(组)叫做不定方程(组)。
不定方程(组)的解是不确定的,一般不定方程总有无穷多个组解,但若加上整数(或正整数)解的特定限制,则不定方程(组)的解有三种可能:有无限组解,有限组解,或无解。
我国古代人民对于不定方程(组)这类问题解法的探讨有着悠久的历史,在中国古代的《孙子算经》中曾作为一个典型问题进行论述。
其中的一个经典例题是:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物有几何,答曰:二十三。
术曰:三三数之剩二,则置一百四十;五五数之剩三,则置六十三;七七数之剩二,则置三十;并之得二百三十三,以二百一十减之,即得。
凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置十五。
一百(零)六以上,以一百(零)五减之,即得。
在中国民间还广为流传着一个口诀:三人同行七十稀,五树梅花二十一。
韩信点兵与中国剩余定理(2-2)
化繁为简的思想
当问题中有很多类似的条件时,我们先只看其中两三个条件,这就 是化繁为简。
一个复杂的问题,如果在简化时仍然保留了原来问题的特点和本质, 那么简化就“不失一般性”。
学会“简化问题”与学会“推广问题”一样,是一种重要的数学能 力。
寻找规律的思想
把我们的解题方法总结为筛法,是重要的进步,是质的飞跃: ——找到规律了。
来就综合考虑两者,则就是要解联立方
程组
x x
2n1 3n2
1中的x. 2
18
那么,为了解这个方程组,除了刚才的筛法 外,还有没有更加巧妙的解法?
我们考察上边两个方程的特点,发现,两个 “带余除法”的式子,都是“余数比除数少1”。
于是想到,如果把被除数再加1,不是余数就为 0了吗?换句话说,不是就出现整除的情况了吗?
22
x 1 k [2,3,4,5,6,7,8,9] k 2520,k 1,2,3,L
即 x 2520k 1,k 1,2,3,L
这就是原问题的全部解,有无穷多个解,其中第 一个解是2519;我们只取正数解,因为“物体的 个数”总是正整数。
23
[思]: ① 求“用2除余1,3除余2,… 用m除余 m- 1”的数。 ② 求“用a除余a -1,用b除余b-1,用c 除余c-1”的数。
x x
3n1 5n2
2 3
(*)
x 7n3 2
我们先对前几页(*)式作两个方面的简化:一方面是每 次只考虑“一个除式”有余数的情况(即另两个除式都是整 除的情况);另一方面是把余数都简化为最简单的1。这样 得到三组方程。
x x
3n1 5n2
1
(1);
x 7n3
y
y
3n1 5n2
韩信点兵算法及其原理
韩信点兵算法及其原理【问题】求最小非负整数N,使他在除以3,5,7以后所得余数分别是a,b,c。
【韩信点兵法的口诀】三人同行七十稀,五树梅花廿一枝,七子团圆整半月,除百零五便得知。
【韩信点兵法口诀的释义】前三句意思较为明确,假如说一个非负整数N,在除以3,5,7以后所得余数分别是a,b,c。
那么70a+21b+15c 一定是符合题意要求的数。
第四句“除”字作“减”字解。
因为符合要求的最小数N必满足0≤N<105,但是70a+21b+15c 却有可能大于105,甚至大于210,所以还不一定是符合要求的最小数。
那么当他大于或等于105时,还必须减去105,可能还要再减去105,直到比105小为止,才可以得到符合题意要求的最小数。
【说明】这里105是3,5,7的最小公倍数,70a+21b+15c + 105k 也一定满足“除以3,5,7以后所得余数分别是a,b,c”。
【例如】a=b=c=2,70a+21b+15c=212,70a+21b+15c-105=107>105。
而符合题意要求的最小数是 2,即 212-105-105=2.【再如】a=2,b=4,c=6,70a+21b+15c=314,314-105=209>105。
而符合题意要求的最小数是 104,即 314-105-105=104.【韩信点兵法口诀的原理】①能被5,7除尽数是35k,其中k=2,即70除3正好余1,70a 除3正好余a。
②能被3,7除尽数是21k,其中k=1,即21除5正好余1,21b 除5正好余b。
③能被3,5除尽数是15k,其中k=1,即15除7正好余1,15c 除7正好余c。
这样——根据①可知 70a+21b+15c 除3正好余a。
根据②可知 70a+21b+15c 除5正好余b。
根据③可知 70a+21b+15c 除7正好余c。
【韩信点兵法口诀的局限性】只适宜于如题所示的一个极为特殊的问题,要推广到同类问题必须另行制作口诀(即公式)。
韩信点兵问题的神算法
韩信点兵问题的神解法定理1:一个数除以a余数x,除以b余数y,a、b互质且a<b,求这个数的最小值。
设这个数为z,则z=b(an+x-y)/(b-a)+y (1)或z=a(bn+x-y)/(b-a)+x (2)其中n为使(bn+x-y)/(b-a)为正整数的最小值。
证明:设z=al+x=bm+y 则:al+x-y-am=(b-a)m所以m=(a(l-m)+x-y)/(b-a)将变量l-m用独立变量n代替:m= (an+x-y)/(b-a)将m代入以上等式得到:z=b(an+x-y)/(b-a)+y同理可以证明等式2定理2:在定理1等式中,0<=n<=b-a。
证明:从定理1等式中可知n=l-m,因为a<b,所以l>=m,故n>=0假设n=h(b-a)+k,k<=b-a 代入以上算式z=b(ah(b-a)+ak+x-y)/(b-a)+y=ahb+b(ak+x-y)/(b-a),由此可知,n可以取值为k。
根据以上两个定理来计算韩信点兵问题,具有两个方面的优点:1、将两个变量合并成了一个变量,从而只需要尝试一个变量即可。
2、这一个变量的范围被两个除数的值界定,需要尝试的最多次数是确定的。
例1:一个数除以9余5,除以13余4,求这个数的最小值列出算式:13*(9n+5-4)/(13-9)+4=13*(9n+1)/4+4显然能让相除结果为整数的n的最小值为3,代入则得:13*(9*3+1)/4+4=95。
例2:一个数除以13余10,除以17余5,求这个数的最小值列出算式:17*(13n+10-5)/(17-13)+5=17*(13n+5)/4+5显然能让相除结果为整数的n的最小值也为3,代入则得:17*(13*3+5)/4+5=192以上算法比传统算法更简便,但依然有缺陷,即如果除数的值比较大时,要获得满足条件的n的值尝试的次数也会相应增大,从而对于大数相除时也会计算量太大,无法手算,用计算机计算也会比较耗时。
韩信点兵【历史故事】
韩信点兵【历史故事】
韩信点兵⼜称为中国剩余定理,相传汉⾼祖刘邦问⼤将军韩信统御兵⼠多少,韩信答说,每3⼈⼀列余1⼈、5⼈⼀列余2⼈、7⼈⼀列余4⼈、13⼈⼀列余6⼈……。
刘邦茫然⽽不知其数。
我们先考虑下列的问题:假设兵不满⼀万,每5⼈⼀列、9⼈⼀列、13⼈⼀列、17⼈⼀列都剩3⼈,则兵有多少?
⾸先我们先求5、9、13、17之最⼩公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最⼩公倍数为这些数的积),然後再加3,得9948(⼈)。
中国有⼀本数学古书「孙⼦算经」也有类似的问题:「今有物,不知其数,三三数之,剩⼆,五五数之,剩三,七七数之,剩⼆,问物⼏何?」
答⽈:「⼆⼗三」
术⽈:「三三数之剩⼆,置⼀百四⼗,五五数之剩三,置六⼗三,七七数之剩⼆,置三⼗,并之,得⼆百三⼗三,以⼆百⼀⼗减之,即得。
凡三三数之剩⼀,则置七⼗,五五数之剩⼀,则置⼆⼗⼀,七七数之剩⼀,则置⼗五,即得。
」
孙⼦算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上⾯这种问题的解法,中国⼈发现得⽐西⽅早,所以这个问题的推⼴及其解法,被称为中国剩余定理。
中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有⼀席⾮常重要的地位。
韩信点兵算法原理
韩信点兵算法原理韩信点兵算法,又称为“鸡兔同笼”问题,是一个古老而经典的数学问题。
传说在韩信率领军队作战时,曾遇到一只笼子里面关着鸡和兔,但是不知道究竟有多少只。
为了解决这个问题,韩信便想出了一个巧妙的算法,从而得以知道笼子里究竟有多少只动物。
这个算法被后人称为“韩信点兵算法”,成为了解决类似问题的经典方法。
韩信点兵算法的原理其实并不复杂,它主要是利用了数学的思维和逻辑推理。
首先,我们需要知道鸡和兔的特点,鸡有两只脚,兔有四只脚。
基于这一特点,韩信想到了一个巧妙的方法来解决问题。
他首先让笼子里的动物全部跑出来,然后让它们排成一队。
接着,韩信开始数脚,他一共数到了n只脚。
接下来,他就可以根据这个数字n来推算出笼子里究竟有多少只动物了。
具体的推算方法是这样的,假设鸡有x只,兔有y只,那么根据鸡和兔的脚的数量,我们可以得到一个方程组,2x + 4y = n,而且x + y = n。
通过解这个方程组,就可以得到鸡和兔的数量了。
这个算法的精髓在于,通过观察问题的特点,找到了一个可以描述问题的数学模型,然后通过求解这个数学模型,就可以得到问题的解。
这种思维方式,体现了数学在解决实际问题中的巨大力量。
除了解决鸡兔同笼问题之外,韩信点兵算法还可以应用到其他类似的问题当中。
比如,在日常生活中,我们经常会遇到一些关于数量和关系的问题,而韩信点兵算法正是一个非常好的思路和方法,可以帮助我们解决这类问题。
总的来说,韩信点兵算法是一个非常巧妙而经典的数学问题解决方法。
它通过观察问题的特点,建立数学模型,然后通过数学方法求解,最终得到问题的解。
这种思维方式不仅在数学领域有着广泛的应用,而且在日常生活中也能够帮助我们解决一些实际问题。
因此,学习和掌握韩信点兵算法的原理和方法,对我们提高数学思维能力,解决实际问题都有着重要的意义。
韩信点兵问题
韩信点兵问题韩信点兵问题又称“中国剩余定理”或“孙子定理”。
这种问题好多老师的讲解方法很笨拙,同学们做起来也很吃力,不少好学生在考试时,用了大量的时间研究这道题,为了提高我们的解题速度及正确率,现将我的经验和解题技巧提供给大家。
这类问题的解法根据是:1、如果被除数增加除数的若干倍,除数不变,那么余数不变。
例如:19÷7=2 (5)(19+2×7)÷7=4 (5)2、如果被除数扩大若干倍,除数不变,那么余数也扩大同样的倍数。
例如:20÷9=2 (2)(20×3)÷9=6 (6)例1、一个数除以5余3,除以6余4,除以7余1.求适合这些条件的最小数。
【5,6】=30 因为30÷7=4……2 不余1,要想余数为1,就得将余数2扩大4倍,即被除数扩大4倍,得30×4=120,所以120除以7余1。
【5,7】=35 因为 35÷6=5……5 ,要想余数为4,就得将余数5扩大2倍,那么被除数30就得扩大2倍,即35×2=70所以70÷6余4.【6,7】=42 因为42÷5=8……2 要想符合题中要求余3的话,余数2就得扩大4倍,即被除数扩大4倍,得42×4=168,168除以5余3.现找到的符合题中条件的一个数为:120+70+168=358 ,但不是最小的数,要想最小,就得减去除数5、6、7的最小公倍数,直到不够减为止。
【5,6,7】=210 , 358-210=148 ,所以答案为148完整的算式为:【5,6】=30 30÷7=4……2 30×4=120【5,7】=35 35÷6=5……5 35×2=70【6,7】=42 42÷5=8……2 42×4=168【5,6,7】=210120+70+168=358 358-210=148答:符合条件的最小的数是148.注:也可能会出现四个除数,不管有几个除数,都是用其它几个数的最小公倍数除以另外一个数,再找符合该条件的余数的被除数。
韩信点兵的计算公式
韩信点兵的计算公式
韩信点兵的计算公式:
韩信点兵的计算公式是n=2×70+3×21+2x15-105k。
韩信点兵的成语来源淮安民间传说常与多多益善搭配。
寓意越多越好。
韩信点兵形成了一类问题,也就是初等数论中的解同余式。
韩信带1500名兵士打仗,战死四五百人,站3人一排,多出2人,站5人一排,多出4人,站7人一排,多出3人。
韩信很快说出人数1004,这就是韩信点兵的故事。
同时在一千多年前的《孙子算经》中,也有类似这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”。
韩信点兵-中国剩余定理
韩信点兵-中国剩余定理-物不知其数问题出自一千六百年前我国古代数学名著《孙子算经》。
原题为:"今有物不知其数,三三数之二,五五数之三,七七数之二,问物几何?"这道题的意思是:有一批物品,不知道有几件。
如果三件三件地数,就会剩下两件;如果五件五件地数,就会剩下三件;如果七件七件地数,也会剩下两件。
问:这批物品共有多少件?变成一个纯粹的数学问题就是:有一个数,用3除余2,用5除余3,用7除余2.求这个数。
这个问题很简单:用3除余2,用7除也余2,所以用3与7的最小公倍数21除也余2,而用21除余2的数我们首先就会想到23;23恰好被5除余3,所以23就是本题的一个答案。
这个问题之所以简单,是由于有被3除和被7除余数相同这个特殊性。
如果没有这个特殊性,问题就不那么简单了,也更有趣儿得多。
我们换一个例子;韩信点一队士兵的人数,三人一组余两人,五人一组余三人,七人一组余四人。
问:这队士兵至少有多少人?这个题目是要求出一个正数,使之用3除余2,用5除余3,用7除余4,而且希望所求出的数尽可能地小。
如果一位同学从来没有接触过这类问题,也能利用试验加分析的办法一步一步地增加条件推出答案。
例如我们从用3除余2这个条件开始。
满足这个条件的数是3n+2,其中n是非负整数。
要使3n+2还能满足用5除余3的条件,可以把n分别用1,2,3,…代入来试。
当n=1时,3n+2=5,5除以5不用余3,不合题意;当n=2时,3n+2=8,8除以5正好余3,可见8这个数同时满足用3除余2和用5除余3这两个条件。
最后一个条件是用7除余4.8不满足这个条件。
我们要在8的基础上得到一个数,使之同时满足三个条件。
为此,我们想到,可以使新数等于8与3和5的一个倍数的和。
因为8加上3与5的任何整数倍所得之和除以3仍然余2,除以5仍然余3.于是我们让新数为8+15m,分别把m=1,2,…代进去试验。
当试到m=3时,得到8+15m=53,53除以7恰好余4,因而53合乎题目要求。
五年级第五讲韩信点兵
第五讲韩信点兵一、学法指导我国古代“算经十书”之一的《孙子算经》中,有这样一道题:“今有物不知其数,凡三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”这就是著名的韩信点兵问题,这道题的意思是,一个数除以3余2,除以5余3,除以7余2,求适合这个条件的最小数。
在带余数的除法中,被除数= 除数×商+余数。
由此可以推出我们常用到的下列性质:1.一个自然数n被另一个自然数m除时,余数只可能是:0,1,2,……,(m-1)。
2.如果两个整数a、b除以同一个数m,而余数相同(即同余),那么a和b的差能被m整除。
3.如果除数不变,同余的两个被除数扩大同样的倍数后,仍然同余;同余的两个数分别加上除数的倍数后,余数不变。
4. 如果整数a和b除以自然数m,所得余数相同,那么a n和b n除以m,所得的余数也相同。
二、例题:例1、有一堆苹果,不论分成5个一堆,还是8个一堆,最后都多出2个。
这堆苹果至少有多少个?例2、一个自然数,除以4余2,除以10余8,除以25余23.这个数最小是多少?例3、一堆糖果,4个一数多1个,9个一数多4个,11个一数多9个,这堆糖果至少有多少个?例4、一个数,除以5余1,除以7余2,除以9余4. 这个数最小是多少?例5、某班同学排队,如果每队3人,就多出1人;每排5人,就多出3人;每排7人,就多出2人.这个班至少有多少同学?例6、学生们在操场上列队做操,只知道人数在90~110之间。
如果排成3列则人数不多也不少;如排成5列则少2人;如排成7列则少4人,问其有学生多少人?例7、如果某数除492,2241,3195都余15,那么这个数是多少?例8、713,1103,830,947被某一自然数除,所得余数相同(不为零),求除数。
三、练习A卷、基本能力训练1.同学们做操,无论排成6人一行,8人一行,10人一行,最后一行都只站3人。
至少有多少人做操?2.一个整数,除以8缺3,除以12余5,除以18余5.这个数最小是多少?3.一个数除以5余4,除以9余7.这个数最小是多少?4.一个数,除以3余2,除以5余4,除以7余3,这个数最小是多少?5.一个数除以3余1, 除以5余3,除以7余4,这个数最小是多少?6.一个数除以6余1,除以11余4,这个数最小是多少?7.在1—100中,哪个自然数除以3,除以5都余1.且能被7整除?8.有一堆小棒,9根一捆多7根.10根一捆多8根.15根一捆多13根。
数学小故事鬼谷算(韩信点兵)手抄报素材
数学⼩故事⿁⾕算(韩信点兵)⼿抄报素材
下⾯是⼩编提供的关于数学的素材:数学⼩故事, 数学⼩故事-⿁⾕算(韩信点兵),⼀起来吧。
数学⼩故事⿁⾕算(韩信点兵)
数学⼩故事
我国汉代有位⼤将,名叫韩信。
他每次集合部队,只要求部下先后按l~3、1~5、1~7报数,然后再报告⼀下各队每次报数的余数,他就知道到了多少⼈。
他的这种巧妙算法,⼈们称为⿁⾕算,也叫隔墙算,或称为韩信点兵,外国⼈还称它
为“中国剩余定理”。
到了明代,数学家程⼤位⽤诗歌概括了这⼀算法,他写道:
三⼈同⾏七⼗稀,五树梅花廿⼀枝,
七⼦团圆⽉正半,除百零五便得知。
这⾸诗的意思是:⽤3除所得的余数乘上70,加上⽤5除所得余数乘以21,再加上⽤7除所得的余数乘上15,结果⼤于105就减去105的倍数,这样就知道所求的数了。
⽐如,⼀篮鸡蛋,三个三个地数余1,五个五个地数余2,七个七个地数余3,篮⼦⾥有鸡蛋⼀定是52个。
算式是:
1×70+2×21+3×15=157
157-105=52(个)
请你根据这⼀算法计算下⾯的题⽬。
新华⼩学订了若⼲张《中国少年报》,如果三张三张地数,余数为1张;五张五张地数,余数为2张;七张七张地数,余数为2张。
新华⼩学订了多少张《中国少年报》呢?。
韩信点兵算法及C程序
韩信点兵时间限制:3000ms |内存限制:65535KB难度:1描述相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。
输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。
已知总人数不小于10,不超过100 。
输入输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。
例如,输入:2 4 5输出输出总人数的最小值(或报告无解,即输出No answer)。
实例,输出:89#include<stdio.h>int main(){int a,b,c,m;scanf("%d%d%d",&a,&b,&c);m=(a*70+b*21+c*15);if(m>105)m=m-105;printf("%d\n",m);return 0;}三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。
这就是韩信点兵的计算方法,它的意思是:凡是用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欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。
韩信点兵算法
韩信点兵算法介绍韩信点兵算法,也称为“合璧算法”,是中国古代著名将军韩信所使用的一种军事策略。
该算法的目的是从一组士兵中找出符合特定条件的人数。
韩信点兵算法在计算机领域中有着广泛的应用,尤其在数据处理与分析中起着重要的作用。
算法原理韩信点兵算法的核心思想是利用取模运算将问题转化为求解一次一元一次方程。
算法的具体步骤如下:1.首先,根据题设条件确定要找的士兵的特征,例如身高、年龄、编号等。
2.将每个士兵的特征与条件进行对比,如果符合条件,则给这个士兵编一个号码。
同时,利用取模运算,将该士兵的编码除以总人数,取余数。
3.继续遍历所有的士兵,每个符合条件的士兵也要进行取模运算,并将结果与之前的结果进行累加。
4.最后,对累加结果进行取模运算,得到最终的结果,即为符合条件的士兵数量。
算法示例下面以一个具体的例子来说明韩信点兵算法的应用。
假设有一支由1000名士兵组成的队伍,韩信要从中找出年龄为30岁的士兵,且编号为1的倍数或者身高大于180cm 的士兵。
根据韩信点兵算法,我们可以得到以下的答案:total =1000# 队伍总人数count =0# 计数器,用于记录符合条件的士兵数量for soldier in range(1, total +1):if soldier %30==0or soldier %180>0:count +=1result = count % total在上述代码中,我们使用了一个循环来遍历所有的士兵。
对于每个士兵,我们首先判断其年龄是否为30岁,如果是,则条件一成立。
接着,我们判断其编号是否为1的倍数或者身高是否大于180cm,只要有一个条件满足,就符合条件。
最后,我们将符合条件的士兵数量进行取模运算,并将结果累加到计数器中。
算法优化韩信点兵算法在实际应用中可能会面临数据量巨大的情况,这时可以对算法进行优化,以提高执行效率。
以下是一些常用的优化方法:1.使用并行计算:对于大规模的士兵队伍,可以利用并行计算的思想,将任务分给多个处理器并行执行,以提高算法的效率。