韩信点兵算法原理
韩信点兵

简介:韩信点兵又称为中国剩余定理,乃由于相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每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。
数学典故:韩信点兵

数学典故:韩信点兵
下面是店铺为大家整理的数学典故,希望大家能够从中有所收获!
我国汉代有位大将,名叫韩信。
他每次集合部队,只要求部下先后按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张。
新华小学订了多少张《中国少年报》呢?。
韩信点兵的故事及数学知识

韩信点兵的故事及数学知识
韩信点兵的故事是一个著名的数学问题,它在中国古代数学史上占有重要地位。
这个故事描述的是韩信在点兵时,通过利用余数的方法来判断士兵的数量。
故事背景是秦朝末年,楚汉相争时期。
韩信作为刘邦的部下,需要点兵迎战。
他让士兵们每排站3人,结果多出2名;每排站5人,结果多出3名;每排站7人,结果多出2名。
通过这一系列条件,韩信得知了总共有1073名士兵。
这个问题的核心是利用余数来判断士兵的数量。
当士兵们每排站3人时,多出2人,即士兵总数除以3的余数是2。
同样地,当每排站5人时,多出3人,即士兵总数除以5的余数是3。
当每排站7人时,多出2人,即士兵总数除以7的余数是2。
因此,我们可以使用中国剩余定理来解决这个问题。
中国剩余定理是指在整数系中,给定一组线性同余方程(组),存在一个整数n,使得n对这组同余方程(组)的余数均为0。
在这个问题中,我们可以设士兵总数为n,那么n对3、5、7的余数分别为2、3、2。
因此,我们可以得到一组线性同余方程:
n ≡ 2 (mod 3)
n ≡ 3 (mod 5)
n ≡ 2 (mod 7)
通过解这组方程,我们可以得到士兵的总数为1073。
这个故事展示了数学在古代中国的广泛应用。
通过数学方法来解决实际问题,不仅体现了数学的实用性,也展示了古代中国在数学领域的卓越成就。
[趣味数学]韩信点兵_1938
![[趣味数学]韩信点兵_1938](https://img.taocdn.com/s3/m/86e2504b2f3f5727a5e9856a561252d380eb208a.png)
[兴趣数学] 韩信点兵民间故事《韩信点兵》:韩信是汉高祖刘邦手下的大将,他勇敢善战,智谋超群,为汉朝的兴成立下了卓越的功绩。
听说韩信的数学水平也特别高明,他在点兵的时候,为了保住军事机密,不让仇敌知道自己队伍的实力,先令士兵从 1 至3 报数,而后记下最后一个士兵所报之数;再令士兵从 1 至5 报数,也记下最后一个士兵所报之数;最后令士兵从 1 至7 报数,又记下最后一个士兵所报之数;这样,他很快就算出了自己队伍士兵的总人数,而仇敌则一直没法弄清他的队伍终究有多少名士兵。
比方,已知军队人数大体在1000-1100 左右,假如1-3 报数余2 人,1-5 报数余 3 人,1-7 报数余 2 人,则韩信马上知道总人数1073 人。
汉军原来就服气自己的统帅,这一来更相信韩信是“仙人下凡”、“神机秒术”于。
是每次出战都士气大振,常常大获全胜。
把韩信点兵问题再换个更简单的说法,就是说,有个数除 3 余2,除 5 余3,除7 余2,问你这个数字最小是几?也可以给定一个范围,问你是几。
这种问题,纠结应当怎么下手解决呢?关于这样的问题,要先察看,能否存在规律,假如切合必定的规律,则能够经过简单口诀来实现;假如没有规律,那么就要经过一些特别方法办理。
一、有规律问题的解法重要口诀:和同加和,差同减差,余同取余,最小公倍加先来谈谈最后一句,最小公倍加,意思是,不论什么状况,先把最小公倍数求出来,这个是作为基础。
而后依据不一样情况进行鉴别,怎样持续办理。
(一)和同加和意思是,假如不一样被除数和余数的和相同,那么就把这个和,加到最小公倍数上。
例:一个数除 5 余3,除 6 余2,除7 余1解题思路:5、6、7 的最小公倍数是210 ,因为5+3=6+2 =7+1=8,因此这个数最小就是8,其他知足条件的数字是210 的倍数+8,比方218 、428⋯⋯(二)差同减差意思是,假如不一样被除数和余数的差相同,那么就把这个差,用最小公倍数减掉。
韩信点兵算法

韩信点兵算法引言:在古代,战争是非常重要的事情,决定了一个国家的生死存亡。
在战争当中,充分发挥每个士兵的潜力,合理地调配兵力,是取得胜利的重要条件之一。
而韩信点兵算法就是古代著名将领韩信所使用的一种智能算法,用于合理地点兵。
本文将对韩信点兵算法进行详细的介绍。
一、韩信点兵算法的原理韩信点兵算法基于对士兵个体能力的评估和战场情况的分析,通过一系列的计算和筛选,确定每个兵种的数量和分布,以达到最佳的作战效果。
具体的算法步骤如下:1. 评估士兵个体能力首先,需要对每个士兵的个体能力进行评估。
这包括士兵的体力、持久力、武器技能等方面。
通过对士兵进行体能测试、技能考核等方式,得到每个士兵的评分,将其视为个体能力指标。
2. 分析战场情况其次,需要对战场情况进行详细的分析。
这包括战场地形、敌人的兵种和数量等因素。
通过观察战场地形,掌握敌人的情报,计算敌人的总兵力等,得到战场情况的参数。
3. 计算每个兵种的数量根据士兵个体能力评估和战场情况的分析结果,韩信点兵算法会计算出每个兵种的最佳数量。
该计算过程中,通常会采用一些优化算法,如遗传算法、模拟退火算法等,以求解最优解。
4. 分配士兵最后,根据计算出的每个兵种的数量,将所有士兵分配到各个兵种中。
分配过程中,通常会考虑士兵的个体能力和战场情况,合理地分配士兵,以保证每个兵种都有足够的人数和相应的能力。
二、韩信点兵算法的优势韩信点兵算法具有以下几个优势:1. 充分发挥士兵的个体能力韩信点兵算法通过对士兵个体能力的评估,可以将每个士兵的特长和优势发挥到最大。
在分配士兵的过程中,会将具有较高评分的士兵分配到适合他们的兵种,以发挥他们的潜力。
2. 考虑战场情况,合理分配兵力韩信点兵算法不仅评估士兵的个体能力,还会对战场情况进行分析。
通过考虑战场地形和敌人的情报,可以合理地调整兵力的分配。
例如,在山地作战中,会增加弓箭手的数量,以便更好地利用地形优势。
3. 高效的计算和筛选过程韩信点兵算法采用一些优化算法,如遗传算法、模拟退火算法等,使得计算和筛选过程更加高效。
韩信点兵原理

韩信点兵原理
韩信点兵原理,又称“韩信点兵”,是中国古代军事家韩信在军事指挥方面的一种战术原理。
它源于中国战国时期,是韩信在指挥作战中总结出的一种灵活多变的兵法原则,被后人广泛运用并加以发扬光大。
韩信点兵原理的核心是根据敌我双方的实际情况和特点,灵活地调整兵力和战术,以取得最大的战斗优势,从而取得战争的胜利。
首先,韩信点兵原理强调的是因地制宜。
在军事作战中,地形和环境是非常重要的因素,韩信提出的点兵原理就是要根据实际情况,灵活调整兵力和战术,充分利用地形和环境的优势,以达到最好的作战效果。
这就需要指挥官具备高超的军事智慧和战术能力,能够根据具体情况做出正确的决策。
其次,韩信点兵原理注重的是以少胜多。
在军事作战中,往往不是兵力的多少决定胜负,而是如何巧妙运用兵力,以小搏大,以少胜多。
韩信在实际作战中善于运用兵力,以少胜多,以弱胜强,取得了许多战役的胜利,成为古代军事史上的一大奇才。
再者,韩信点兵原理强调的是变化多端。
在军事作战中,敌我双方的情况都是在不断变化的,因此指挥官需要具备高度的灵活性和变通性,能够随时根据敌情我况做出相应的调整和变化,以应对不同的战斗情况,从而取得战争的胜利。
最后,韩信点兵原理的核心是灵活运用兵力和战术,以取得最大的战斗优势。
在军事作战中,指挥官需要根据实际情况,灵活调整兵力和战术,以便在战场上取得最大的优势,从而取得战争的胜利。
总之,韩信点兵原理是中国古代军事思想的重要组成部分,它强调的是根据实际情况和特点,灵活调整兵力和战术,以取得最大的战斗优势,最终取得战争的胜利。
这一原理不仅在古代军事中发挥了重要作用,而且在现代军事中仍然具有重要的借鉴意义。
韩信点兵算法原理

韩信点兵算法原理韩信点兵算法是中国古代著名军事家韩信所创造的一种兵法,它被广泛应用于军事战略中,被誉为古代军事智慧的杰作。
韩信点兵算法的核心思想是通过巧妙的数学推理和组合方法,快速准确地统计出大军的人数,为指挥官制定战略决策提供重要参考。
下面我们将深入探讨韩信点兵算法的原理及其应用。
韩信点兵算法的原理主要包括两个方面,数学推理和组合方法。
首先,我们来看数学推理。
韩信点兵算法利用了数学中的排列组合知识,通过巧妙的排列组合计算,可以快速得出军队的人数。
其次,韩信点兵算法还运用了组合方法,将士兵分组进行点验,再通过组合的方式得出总人数。
这种方法简单高效,可以大大提高统计的准确性和速度。
在实际应用中,韩信点兵算法有着广泛的用途。
首先,它可以帮助指挥官在战场上快速了解自己的兵力情况,为制定作战计划提供重要数据支持。
其次,韩信点兵算法还可以应用于军需物资的统计,通过类似的方法,可以快速准确地统计出军队所需物资的数量,为后勤保障工作提供重要参考。
韩信点兵算法的原理虽然看似简单,但实际运用却需要高超的数学技巧和丰富的实战经验。
指挥官需要结合实际情况,灵活运用这一算法,才能发挥其最大的效能。
同时,韩信点兵算法也需要严格的训练和执行,只有经过反复演练和实战检验,才能在实际应用中发挥出其真正的作用。
总的来说,韩信点兵算法是中国古代军事智慧的结晶,它不仅在古代战争中发挥了重要作用,而且在现代军事领域也有着一定的借鉴意义。
通过深入研究和理解韩信点兵算法的原理和应用,我们可以更好地传承和发扬古代军事智慧,为现代军事战略的制定和执行提供有益的启示。
综上所述,韩信点兵算法以其独特的原理和广泛的应用价值,成为中国古代军事智慧的瑰宝,对于我们深入学习和研究古代军事文化,提高军事战略水平具有重要意义。
希望通过本文的介绍,能够让更多的人了解和重视这一古代军事算法的价值和意义。
韩信点兵--剩余定理

《孙子算经》
6
二.问题的解答
1.从另一个问题入手
问题:今有物不知其数,二二数之剩1,三三
数之剩2,四四数之剩3,五五数之剩4,六六数
之剩5,七七数之剩6,八八数之剩7,九九数之
剩8,问物几何?
7
1)筛法
1,3,5,7,9,11,13,15,17,19,
21,23,25,… 5, 11, 17,
和余 ,使 a bq r , 0 r b
12
当余 r 0 时,则 a bq ,称为 “ a被b 整除”,或 “ b
a q 法“ b
a ”,这是通常除 整除
” 的另一种表达形式。所以,
带余
除法是通常除法的推广。
13
回到求“用2除余1的数”的问题。ቤተ መጻሕፍቲ ባይዱ 这 样的数为
x
,则
x 2n1 1
n1
。这里
x
是
被除数, 0 12 2是除数,
是商,1是余,
且
。
14
x 2n1 1(0 1 2), 这就是“带余除
法”的式子。当取n1 0,1, 2,3, 4,
用上式求得的 x 正好组成上述数列 1,3,5,7,9,11,13,15, 17,19,21,23,25,…
时,
15
y 3n1 y 5n2 1 (2); y 7n 3
z 3n1 (3) z 5n2 z 7n 1 3
(1)式意味着,在5和7的公倍数中(35,70, 105,…)寻找被3除余1的数; (2)式意味着,在3和7的公倍数中(21,42, 63,…)寻找被5除余1的数; (3)式意味着,在3和5的公倍数中(15,30, 45,…)寻找被7除余1的数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
韩信点兵算法原理
韩信点兵算法,又称为“鸡兔同笼”问题,是一个古老而经典的数学问题。
传
说在韩信率领军队作战时,曾遇到一只笼子里面关着鸡和兔,但是不知道究竟有多少只。
为了解决这个问题,韩信便想出了一个巧妙的算法,从而得以知道笼子里究竟有多少只动物。
这个算法被后人称为“韩信点兵算法”,成为了解决类似问题的经典方法。
韩信点兵算法的原理其实并不复杂,它主要是利用了数学的思维和逻辑推理。
首先,我们需要知道鸡和兔的特点,鸡有两只脚,兔有四只脚。
基于这一特点,韩信想到了一个巧妙的方法来解决问题。
他首先让笼子里的动物全部跑出来,然后让它们排成一队。
接着,韩信开始数脚,他一共数到了n只脚。
接下来,他就可以根据这个数字n来推算出笼子里究竟有多少只动物了。
具体的推算方法是这样的,假设鸡有x只,兔有y只,那么根据鸡和兔的脚的
数量,我们可以得到一个方程组,2x + 4y = n,而且x + y = n。
通过解这个方程组,就可以得到鸡和兔的数量了。
这个算法的精髓在于,通过观察问题的特点,找到了一个可以描述问题的数学
模型,然后通过求解这个数学模型,就可以得到问题的解。
这种思维方式,体现了数学在解决实际问题中的巨大力量。
除了解决鸡兔同笼问题之外,韩信点兵算法还可以应用到其他类似的问题当中。
比如,在日常生活中,我们经常会遇到一些关于数量和关系的问题,而韩信点兵算法正是一个非常好的思路和方法,可以帮助我们解决这类问题。
总的来说,韩信点兵算法是一个非常巧妙而经典的数学问题解决方法。
它通过
观察问题的特点,建立数学模型,然后通过数学方法求解,最终得到问题的解。
这种思维方式不仅在数学领域有着广泛的应用,而且在日常生活中也能够帮助我们解
决一些实际问题。
因此,学习和掌握韩信点兵算法的原理和方法,对我们提高数学思维能力,解决实际问题都有着重要的意义。