中国剩余定理

中国剩余定理的解法
若除以A余a,除以B余b,除以C余c,怎样求最小的满足条件数?
最佳答案
找出AB公倍数中除以C余1的最小的一个,乘以c
AC公倍数中除以B余1的最小的一个,乘以b
BC公倍数中除以C余1的最小的一个,乘以a
三个乘积相加减去ABC最小公倍数的整数倍 
《孙子算经》中有“物不知数”问题:“今有物不知其数,三三数之余二 ,五五数之余三 ,七七数之余二,问物几何?”答为“23”。也就是求同余式组x≡2 (mod3),x≡3 (mod5 ),x≡2 (mod7)(式中a≡b (modm)表示m整除a-b )的正整数解。明朝程大位用歌谣给出了该题的解法:“三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知。”即解为x≡2×70+3×21+2×15≡233≡23(mod105)。
孙子问题的解法,以现代的说法,是找出三个关键数70,21,15。解法的意思就是用70乘3除所得的馀数,21乘5除所得的馀数,15乘7除所得的馀数,然後总加起来,除以105的余数就是答案。
  即题目的答案为 70×2+21×3+15×2
  =140+63+30
  =233
  233-2×105=23
  公式:70a+21b+15c-105n
  解法中的三个关键数70,21,15,有何妙用,有何性质呢?首先70是3除馀1而5与7都除得尽的数,所以70a是3除馀a,而5与7都除得尽的数,21是5除馀1,而3与7都除得尽的数,所以21b是5除馀b,而3与7除得尽的数。同理,15c是7除馀c,3与5除得尽的数,总加起来 70a+21b+15c 是3除馀a,5除馀b ,7除馀c的数,也就是可能答案之一,但可能不是最小的,这数加减105(105=3*5*7)仍有这样性质,可以多次减去105而得到最小的正数解。

现代数论求解

   孙子问题在现代数论中是一个一次同余问题,显然,这相当于求不定方程组
  N=3x+2
  N=5y+3
  N=7z+2
  的正整数解N,或用现代数论符号表示,等价于解下列的一次同余组:
  N 2(mod3) 3(mod5) 2(mod7)②
  孙子问题求解过程如下:

最小公倍数


  在每一组数中找出“除以7余2”的最小数——30;
  在每二组数中找出“除以5余3”的最小数——63;
  在每三组数中找出“除以3余2”的最小数——35;
  则有,30+63+35 = 128 一定是一个符合“被3除余2,被5除余3,被7除余2”的数。但不一定是最小的。
  再求128除以105(即3,5,7的最小公倍数)的余数即得23。
  为了一般化问题的解法,先来看一个简单的结论:
  如果整数 a 除以整数 b 的余数是 1,那么 a 的 2 倍,3 倍,4 倍……b-1 倍除以 b 的余数分别是 1*1,2*1,3*1,4*1,......和(b-1)*1。
  例如:15÷7=2……余1,那么:
  2*15÷7=4……余 2 (=2*1)
  3*15÷7=6……余 3 (=3*1)
  4*15÷7=8……余 4 (=4*1)
  ……
  6*15÷7=12……余 6 (=6*1)
  基于以上结论,可以如是求解(仍要看上图):
  在第一组中找出 ”除以7余1“ 的最小数--15
  在第二组中找出 “除以5余1” 的最小数--21
  在第三组中找出 “除以3余1" 的最小数--70
  要找的数是 “除以7余2,除以5余3,除以3余2” ,因此一个答案就是
  15*2 + 21*3 + 70*2 = 233
  要求最小的那个数,只要求282除以105(即3,5,7的最小公倍数)的余数,即23。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值