最小的整数是零是对还是错
我国的古代数学书籍《孙子算经》中有一道非常著名的问题:有一物,我们不知道它的具体数量,但是如果我们尝试以三为单位进行数数,会剩下二;以五为单位进行数数,会剩下三;以七为单位进行数数,也会剩下二。那么,这个物品的数量到底是多少呢?
这个问题与一则古老的民间传说——“韩信点兵”中的数学问题如出一辙。
在秦末汉初的时期,韩信在与楚王大将李峰的战斗中,需要将1500名士兵进行整编。在一场战役后,伤亡了四百余人,休整之后再次出战时,面对不足五百骑的楚军追击,韩信需要精准地点兵迎敌。他命令士兵三人一排,会多出两名;接着命令士兵五人一排,会多出三名;再命令士兵七人一排,同样会多出两名。韩信凭借出色的数学能力,迅速宣布:我军有1073名勇士,敌人不足五百人,这一宣布极大地振奋了士气。最终,楚军因人数劣势而大败而逃。
那么,韩信是如何神奇地计算出有1073名士兵的呢?虽然具体方法不得而知,但后人对这一问题进行了深入研究,并为数学做出了巨大贡献。
十六世纪,数学家程大位在在他的著作《算法统宗》中给出了一种解法的歌诀:三人同行得七十,五树梅花廿一枝,七子团圆正半月,除百零五得知情。
歌诀中的前三句给出了三组数字,后一句则给出了一个关键的数字:3对应70、5对应21、7对应15以及105。这些数字有一个共同特征:比如70除以3余1,除以5、7则余数为0;再如21除以5余1,除以3、7余数也为0。
经过一系列计算与推导,我们可以找到符合所有余数条件的数字N。然后,从这个N中减去3、5、7的公倍数,就可以得到问题的最小解。考虑到韩信点的兵数量在1000到1500之间,因此应该是10510+剩余的最小数,即1073人。
真正从完整的计算程序和理论上解决这个问题的,是南宋时期的数学家秦九韶。秦九韶在他的著作《数书九章》中提出了一个数学方法——“大衍求一术”。所谓“求一”,就是求“一个数的多少倍除以另一个数,所得余数为一”。秦九韶将这个问题转化为一次同余式组,并形成了解决这类问题的系统化的数学理论。
在西方,直到十九世纪初,德国数学家高斯才在《算术探究》一书中提出解决这类问题的方法——剩余定理,并给出了严格的证明,被后人称为“高斯定理”。剩余定理的重要性在于它提供了一种解决复杂问题的方法:将复杂问题分解为几个易于解决的小问题,将不同的条件转化为标准的条件,然后用统一的方法进行处理。这也是一种重要的数学思想。
现在让我们尝试解答几个基于剩余定理的问题:
问题一:有一个数除以3余2,除以4余1。请问这个数除以12余几?
解答:根据的剩余定理,先找到被4整除且除以3余1的数(显然为4),再找到被3整除且除以4余1的数(应为9)。两者的乘积加上余数(24+19=17)得到其中一个可能的答案。然后我们可以知道这个数除以12的余数是5。所以答案是余数为最小的解即为5。
问题二:一个数被3除余1,被4除余2,被5除余4。请问这个数最小是多少?
解答:首先根据剩余定理的“求一”步骤,找到满足每个条件的数。然后通过相加得到满足所有条件的数。最后减去3、4、5的最小公倍数倍数得到最小的数。所以答案是这个数最小为34。
问题三:一个班级的学生分组做游戏时如果每组3人就会多出2人出来;每组如果是5人就会多出3人出来;每组如果是7人就会多出4人出来。请问这个班级总共有多少学生? 解答:依然是通过剩余定理来解决这个问题。首先找到满足所有条件的数(即班级人数),然后减去最小公倍数倍数得到班级实际人数最小的可能值。所以这个班级有最少的学生人数为:通过计算得到为 53 人 。