中国剩余定理是数论中的一个关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。又称为孙子定理,“韩信点兵”“求一术”“鬼谷算”“隔墙算”“剪管术”“秦王暗点兵”“物不知数”等名称。

例如:物不知数原文:

有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?

宋朝数学家秦九韶对“物不知数”问题作出了完整系统的解答。还被别人编成了《孙子歌决》:

三人同行七十希,五树梅花廿一支,七子团圆正半月,除百零五使得知

这个歌诀给出了模数为3,、5、7时候的同余方程的秦九韶解法。意思是:将除以3的余数乘以七十,将除以5的余数乘以21,将除以7的余数乘以15,全部加起来后除以105,得到的余数就是答案。比如说“物不知数”中的例子,使用以上的方法计算就得到:

70*2+21*3+15*2 = 233 = 2*105+23

答案就是23.

形式描述:用现代数学的语言来说明的话,中国剩余定理给出了以下的一元线性同余方程组:

有解的判定条件,并用构造法给出了在有解情况下解的具体形式。

中国剩余定理说明:假设整数m1、m2、m3…mn 两两互质,则对任意的整数:a1、a2、… 、an,方程组S有解,并且通解可用如下方式构造得到:

例子:

使用中国剩余定理求解上面的“物不知数”便可以理解《孙子歌诀》中的含义。这里的线性同余方程组是:

程序实现:

package crt;public class Crt {static int [] m = {3,5,7}; //模数,条件互质static int [] a = {2,3,2};   //余数static int [] Mi = {1,1,1};   // static int M = 1;static int firstNum = 0;static int x = 0;static int [] t = new int [3];public static  void GetTvalue(){for(int i=0;i < t.length;i++){int temp = 0;while((Mi[i]*temp - 1)%m[i] != 0){temp++;}t[i] = temp;}}public static void main(String[] args) {for(int i = 0;i < m.length;i++){    M = M*m[i];}for(int j =0;j < Mi.length;j++){Mi[j] = M/m[j];}GetTvalue();for(int k = 0;k < 3 ;k++){x = x + a[k]*t[k]*Mi[k];}firstNum = x%M;for(int k = 0;k<t.length;k++){System.out.println(t[k]);}System.out.println(x);System.out.println(firstNum);}}

转载于:https://www.cnblogs.com/Jiaoxia/p/3984317.html

韩信点兵(中国剩余定理)相关推荐

  1. 韩信点兵-中国剩余定理(练习)

    http://acm.nyist.net/JudgeOnline/problem.php?pid=34提交地址 韩信点兵-中国剩余定理. 题目能够用枚举非常easy的做出来,在这里写是为了运用一下刚刚 ...

  2. 中国剩余定理(Chinese Remainder Theorem)

    中国剩余定理 民间传说着一则故事--"韩信点兵". 秦朝末年,楚汉相争.一次,韩信将1500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿 ...

  3. 为什么计算机的编码那么多,为什么中国剩余定理可用于计算机编码?

    我们已经知道了"中国剩余定理",即"韩信点兵"问题,它是中国古代数学中的一项重大成就,其内容属于数论中的一次同余数组的解法.而这一古老的知识,现在在计算机编码方 ...

  4. 【一级讲解】韩信点兵——中国剩余定理

    韩信点兵 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了.输入3个非负整数a,b,c ,表示每种队形排尾 ...

  5. 三人同行七十稀 - 中国剩余定理浅析

    我国明朝有位大数学家叫程大位,他在解答"物不知其数"问题(即:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩2,问物几何?)用四句诗概括这类问题的解决: "三人同 ...

  6. 韩信点兵 中国剩余定理

    1077 韩信点兵 时间限制:500MS  内存限制:65536K 提交次数:1103 通过次数:99 题型: 编程题   语言: G++;GCC Description 相传汉高祖刘邦问大将军韩信统 ...

  7. 数论 · 中国剩余定理(CRT)

    UPDATE 2021 - 12 - 10:补充扩展中国剩余定理 EXCRT,额外开了一篇博客写. 2021 - 12 - 21:修改了一两句话,更严谨一些. 问题概述 小奥里的韩信点兵问题: { x ...

  8. 数论-中国剩余定理(crt) 与拓展中国剩余定理(excrt)

    中国剩余定理(crt) [用途] 求方程组中最小的非负整数解X X ≡ { a 1 ( m o d m 1 ) a 2 ( m o d m 2 ) . . . a n ( m o d m n ) X\ ...

  9. 小议中国剩余定理兼怀金庸

    本是几个月前整理完备hash构造时打算写的,不意拖到了金庸先生去世.<射雕英雄传>中那一次精彩绝伦的数学启蒙,不亚于光明顶上张无忌出尽风头的擂台秀.瑛姑与黄蓉的几轮口头交锋,涵盖了n阶幻方 ...

  10. 从韩信点兵和勾股弦说起—— 漫谈基础数学的古今中外

    从韩信点兵和勾股弦说起-- 漫谈基础数学的古今中外 前言 基础数学的范畴,大体上也就是现代中学和大一数学课程中所要学的代数.几何与分析的基础知识:它不但是数学的根本,也是整个科技发展的基础,可以说是人 ...

最新文章

  1. 他给女朋友做了个树莓派复古相机,算法代码可自己编写,成本不到700元丨开源...
  2. iOS设备中垂直同步开启后的帧率计数
  3. RabbitMQ学习系列(五): RPC 远程过程调用
  4. 细说plsql中的空值表达式
  5. 企业安全建设之浅谈数据防泄露
  6. 高通qca9565网卡驱动_修改注册表让Surface Go的无线网卡支持频段选择
  7. 在存储过程中编写正确的事务处理代码
  8. 程序员|那天下班回家,突然民警叫住我....
  9. 电子工程师名片——FAT16文件系统(转)
  10. PIC单片机IDE,IPE和PICkit3下载使用的几个坑
  11. [译]eBay Elasticsearch性能调优实践
  12. 浅析服装信息化面前的三座大山
  13. 【图片上传与图片显示】 SpringBoot ajax (跨域问题)
  14. 计算机毕业设计jsp宠物美容网站
  15. SQL Server 数据库修复专家SQLRescue
  16. 三维投影总结:数学原理、投影几何、OpenGL教程、我的方法
  17. 论文笔记|固定效应的解释和使用
  18. 锁相环设计与MATLAB仿真
  19. 3D游戏建模师职业现状:大学生毕业就是失业,真的这么可怕吗
  20. 基于python处理excel大量数据并导出至txt文件

热门文章

  1. GBase 8a Mpp Cluster集群产品性能优化篇之行列混存优化
  2. /hv/hv_go.h:14:27: fatal error: metslib/mets.hh: No such file or director解决办法
  3. 计算机中的相对符号怎么按,丶符号怎么打-Mac里特殊符号的输入技巧
  4. 笔迹心理学(2): 功能设计
  5. Applet 小应用程序查看器 乱码(小方块)
  6. Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist: No URLs
  7. 图书信息管理系统C语言IPO,基于IPO的Python教学设计
  8. 厉害了,苹果应用内购买抽成半年狂赚49亿美元
  9. Graph U-Nets [gPool gUnpool] 图分类 节点分类 图池化 ICML 2019
  10. flask 将route放置在多个文件中的方法(蓝本)