三人同行七十稀 - 中国剩余定理浅析
我国明朝有位大数学家叫程大位,他在解答“物不知其数”问题(即:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩2,问物几何?)用四句诗概括这类问题的解决:
“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。”
这首诗就是解答此类问题的金钥匙,它被世界各国称为中国剩余定理或孙子定理,是我国古代数学的一项辉煌成果。
<经典例题>
“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”
<解题策略>
我们就从上述四句诗中来找答案:
三人同行七十稀,把除以3所得的余数用70乘。
五树梅花日一枝,把除以5所得的余数用21乘。
七子团圆正半月,把除以7所得的余数用15剩。
除百零五便得知,把上述三个积加起来,减去105的倍数,所得的差即为所求。
列式为:2×70+3×21+2×15=233,233-105×2=23。
为什么70,21,15,105有如此神奇作用?70,21,15,105是从何而来?
先后70,21,15,105的性质:
70除以3余1,被5,7整除,所以70a除以3余a,也被5,7整除;
21余以5余1,被3,7整除,所以21b除以5余b,也被3,7整除;
15除以7余1,被3,5整除,所以15c除以7余c,被3,5整除。
而105则是3,5,7的最小公倍数。
总之来说:70a+21b+15c是被3除余a,被5除余b,被7除余c的数,这个数如果大了,还要减去它们的公倍数。
现在我们来提出别外一种解法,本质上是与上述方法相同,请大家不妨仔细体会一下。
先把题目改动一下:“今有物不知数,五五数之余二,七七数之余二,九九数之余四,问物几何?”
先找除以9余4的数:4,13,22,31,40,49,58,67……
其中除以7余2的数有:58。
但58除以5不余2,用58加上7和9的最小公倍数63,直到加成除以5余2为止:58,121,184,247……
其中247即为所求。
<画龙点睛>
在中国剩余定理这类问题中,我们实际上运用的是余数的加法定理和减法定理:
如果一个数A除以除数后余数为a,一个数B除以相同的除数后余数为b,那么A+B除以相同的除数后余数为a+b,A-B除以相同的除数后余数为a-b.
<举一反三>
1.一个数除以5余3,除以6余4,除以7余1,请找出适合条件的最小数。
2、秦末期间,楚汉相争,萧何向汉王刘邦推荐了年轻的韩信,拜韩信为大将军。据说韩信点兵不要求士兵报数,只要士兵排队。有一次,队伍排成5列纵队末行1人;6列纵队末行5人;7列纵队末行4人;11行纵队末行10人。若韩信的士兵人数为2000多人,请算一算韩信有多少士兵?
3、一个三位数除以9余6,除以4余2,除以5余1,这个三位数最大是多少?
9、4、5两两互素,m=9×4×5=180
M1=20, M1`=5, M2=45, M2`=1, M3=36, M3`=1
20*5*6+45*1*2+36*1*1=726
最大的三位数:726+180=906
<融会贯通>
4、一个圆圈上有几十个孔,小明从A孔出发,沿着圆圈逆时针方向,每隔2孔跳一步,结果跳到了B孔;如果每隔4孔跳一步,结果也只跳到B孔;如果每隔6孔跳一步,正好跳回A孔,你知道圆圈上共有多少个孔吗?(B孔在A孔的右边,即如果从A编号为1进行逆时针编号,B孔的编号正好是孔数)
孔数为x,x除以3余1,除以5余1,是7的倍数。
3,5,7两两互素,m=3×5×7=105
M1=35, M1`=2, M2=21, M2`=1
35*2*1+21*1*1=91
普通思路:我们先看每隔2孔跳一步时,小明跳在哪些孔上 很容易看出应在1,4,7,10,……上.也就是说,小明跳到的孔上的编号是3的倍数加1.按题意,小明最后跳到B孔,因此总孔数是3的倍数加1.
同样道理,每隔4孔跳一步最后跳到B孔,就意味着总孔数是5的倍数加1;而每隔6孔跳一步最后跳回到A,就意味着总孔数是7的倍数.
如果将孔数减1,那么得数是3的倍数也是5的倍数,因而是15的倍数.这个15的倍数加上1就等于孔数,而且能被7整除.注意15被7除余1,所以15×6被7除余6,15的6倍加1正好被7整除.我们还可以看出,15的其他(小于7的)倍数加1都不能被7整除,而15×7=105已经大于100,7以上的倍数都不必考虑.因此,总孔数只能是15×6+l=91.
一般的小题用普通思路就ok啦,孙子定理在求解复杂同余式组才能显示它的优越性,用在小题反而有小题大作之嫌。
转载:http://xmuzzx.blog.hexun.com/13939890_d.html
三人同行七十稀 - 中国剩余定理浅析相关推荐
- python三人同行七十稀_三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知.这句诗的诗意....
共回答了11个问题采纳率:81.8% 明朝有位程大位,他在解答"物不知其数"问题(即:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩2,问物几何?)用四句诗概括这类问题的解 ...
- python三人同行七十稀_【算法入门第二章练习题】(示例代码)
习题2-1 水仙花数 输出100~999中的所有水仙花数.若3位数ABC满足ABC=A2+B2+C2,则称其为水仙花数.例如:153=12+52+32,所以153是水仙花数. 解析:只有1000个数, ...
- python三人同行七十稀_三人同行(三人同行什么意思)
是三人同行,后面就有一个填空的东西 子曰:"三人行,必有我师焉:择其善者而从之,其不善者而改之."(<述而>) 熟语:三人同行,小弟受苦.意思是大的欺负小的,小弟只能跑 ...
- 同余2:线性逆元和中国剩余定理的学习笔记
同余2:逆元和中国剩余定理的学习笔记 逆元 中国剩余定理 扩展中国剩余定理 前言 上一次,我讲到了求解线性同余方程,并挖了一个线性求逆元的大坑,现在补上吧. 逆元 逆元的定义:若 a ∗ x ≡ 1 ...
- 51nod:1079 中国剩余定理(数学)
1079 中国剩余定理 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % ...
- 孙子定理(中国剩余定理)
中国剩余定理 中国剩余定理这样描述,给出以下一元线性同余方程组 给出你n个ai和mi,求出符合题意的X值,一般输出最小解. ti 要用扩展欧几里得算法e_gcd()计算. 证明参照:点击打开链接 看个 ...
- 中国剩余定理用python实现
中国剩余定理 任务描述 本关任务:编写一个能计算任意组数的中国剩余定理的程序. 相关知识 为了完成本关任务,你需要掌握:1.中国剩余定理的原理 解释 在<孙子算经>中有这样一个问题:&qu ...
- 小议中国剩余定理兼怀金庸
本是几个月前整理完备hash构造时打算写的,不意拖到了金庸先生去世.<射雕英雄传>中那一次精彩绝伦的数学启蒙,不亚于光明顶上张无忌出尽风头的擂台秀.瑛姑与黄蓉的几轮口头交锋,涵盖了n阶幻方 ...
- 几道中国剩余定理例题
中国剩余定理,又名孙子定理.中国余数定理,得名于中国古代数学家孙子在<孙子算经>中首次提到的一次同余方程组问题及其解法.原文如下:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二. ...
最新文章
- mysql 返回最大值列名_多列求最大值列和列名
- Java实现二分查找及其优化
- 厉害了!不用一行代码,手把手教你制作漂亮词云!
- parameter localparam define的区别
- 通过C++ Interop把Windows窗体集成到MFC应用程序中
- MVC3 Razor 视图引擎的基础语法
- vue项目中assets与static的区别
- 643. 子数组最大平均数 I
- git 移除项目版本控制_Git - .gitignore怎么忽略已经被版本控制的文件
- 【Java+JSP+MySql】12306购票系统(二)数据库
- pythonobject转int_object怎么转换成float数据
- netbeans php 安装教程,Netbeans下载安装教程教程
- linux cpu数理,Linux中的 德·摩根定律
- Maven导入依赖时jar包出现unknown
- 深圳腾讯计算机打鱼的游戏,腾讯欢乐捕鱼
- Qt无边框窗体(Windows)
- Alpha事后诸葛亮(团队)
- 招聘 | 上海交通大学医学院附属精神卫生中心诚招科研助理
- Salesforce邮件发进垃圾邮箱或未收到SF邮件处理方式 (DKIM - New CNAME Version)
- 美女导游孙洁到欧洲推销中国旅游,携程缘何成了名片?
热门文章
- 用C语言去判断一个字符串是否为回文字符串(简单明了)
- 计算机系统要素--第六章,02-HACK汇编编译器实现
- 帝国CMS7.5基于迅搜(Xunsearch)的全文搜索插件
- 为什么操作系统需要虚拟内存
- 晕菜, silverlight !
- Java8 IF ELSE IF 优化
- Linux基于bash命令实验报告,Linux操作系统实验报告1
- IOT-OS之RT-Thread(十三)--- 网络分层结构 + netdev/SAL原理
- --计算机专业就业前景--
- 华为服务器安装Ubuntu 18.04.2 详细步骤(附图文介绍)