怎么用孙子定理解一次同余式组?例如x=(绝对等于号打不出来,就用=代替)1(mod 2),x=2(mod 5),x=3(

怎么用孙子定理解一次同余式组?
例如x=(绝对等于号打不出来,就用=代替)1(mod 2),x=2(mod 5),x=3(mod 7),x=4(mod 9).
我前面的几步都知道怎么做,就是不知道怎么求M'3和M'4,知道的请详细说明.
紅炉雪 1年前 已收到1个回答 举报

krinfx 幼苗

共回答了18个问题采纳率:100% 举报

先解决您的提问中的乘率问题.
x==1 mod 2
x==2 mod 5
x==3 mod 7
x==4 mod 9
2*5*9 *A==1 mod 7
==10*9A==3*9A==27A==-A
故A==-1 mod 7
2*5*7*B==1 mod 9
==10*7B==1*7B==-2B==1==-8,
故B==4 mod 9
事实上,就像我们解矩阵方程组不一定要经过单位向量和单位矩阵一样,求乘率的过程也并不是解同余式组所必要的过程.下面的解法,如果熟练掌握,中国剩余定理的本质、同余概念的本质,将会有全新的、深入的理解.恳请仔细阅读,
题:
以下为打字方便用双等号==取代三线等号≡表示同余.
x==1 mod 2
x==2 mod 5
x==3 mod 7
x==4 mod 9

x==2*5*7*9 * ( a/2+b/5+c/7+d/9 mod 1)

注:相当于
x==2*5*7*9 * ( a/2+b/3+c/5+d/9) mod 2*5*7*9
K mod 1相当于求K的非整数部分.数学教材上有别的记法,不过这种记法用过一次就不会忘了并且便于统
一运算.

易得5*7*9a==1 mod 2
2*7*9b==2 mod 5
2*5*9c==3 mod 7
2*5*7d==4 mod 9
于是得a==1 mod 2,注意,可取任一特值作代表.
注意,此时1/2是a./2的非整数部分,并要保证非整数部分不变,a值可以任意变.下面类似
b==2 mod 5
10*9c==3==3*9c==27c==-c mod 7,c==-3==4 mod 7
7d==4==-2d mod 9,d==-2 ==7 mod 9
取a=1,b=2,c=4,d=-2作为代表(下面计算过程中可灵活机动处理,只要保证非整数部分不变即可)
代入x==2*5*7*9 * ( a/2+b/5+c/7+d/9 mod 1)即可得解.
计算过程示例:
先算a/2+b/5+c/7+d/9 mod 1,即其非整数部分.
1/2+2/5+4/7-2/9 mod 1
==9/10-3/7-2/9 (注意,这里将4/7灵活处理为-3/7,只要非整数部分不变就行)
==33/70-2/9=(297-140)/630=157/630
故x==630 *( a/2+b/5+c/7+d/9 mod 1) ==630 *( a/2+b/5+c/7+d/9) mod 630
==157 mod 630
注1:这种解法是中国剩余定理的等效解法,并且不必计算乘率.就象我们解矩阵方程,不一定经过单位向量和单位矩阵.
注2:要理解 mod 符号的本质.
a mod m就是 a + mk ,或 a- mk ,或 mk+a,或-mk + a
总是在a 的上面附着了 m的某个倍数,只要满足加法(代数和)的运算规则就行,交换律,结合律,分配律.
并且注意到 我们在中间过程往往忽略这个倍数k的具体值,也不管他的符号是正号还是负号.
于是 mod m就相当于一个 在等号两侧与a平等地位上任意滑移的量而已.
用符号取代 mod m 是一种很好的记法,有些数学资料上是这样表示的.例如
a==b
a==b
a==b
a==b
将它们都认为等同,在此发散思维之下,将同余式与不定方程可以从内容到形式上完全统一起来,互相为用,非常方便.
在理解了以上方法之后,解同余式组会变得相法便利:
题:
以下为打字方便用双等号==取代三线等号≡表示同余.
x==(1;2;3;4) mod (2;5;7;9)
上面是类似向量的表示;用分号表示与普通向量性质不完全一样.

x==2*5*7*9 * ( a/2+b/5+c/7+d/9 mod 1)
5*7*9a==1 mod 2,或用洪伯阳同余表示写成 a==1/ (5*7*9) mod 2==1 mod 2
2*7*9b==2 mod 5,即 b==2/ (2*7*9) mod 5 ==1/(7*9)==1/63==1/3==6/3==2 mod 5
同理
c==3/ (2*5*9 ) mod 7 ==1/(2*5*3)==1/2==8/2==4 mod 7
d==4/(2*5*7) mod 9==4/7 ==4/-2==-2 mod 9
如果速用洪伯阳表示,可以快速心算出结果.
再计算 1/2+2/5+4/7-2/9 mod 1得 157/630
于是 x==157 mod 630
推广:
x==(r1; r2; r3;…) mod (m1;m2;m3;…)的解是
记m1m2m3…之积为P
x==P* ( Y mod 1)==写成 [P*( Y mod 1)] mod P其实很噜嗦
Y=sum
[
( ri/ (P/mi) mod mi ) / mi
]
外一则:
此题还可以如此
x==1 mod 2
2x==-1 mod 5*7*9 ==-1+5*7*9=314 mod 5*7*9
x==157 mod 5*7*9
x==157 mod 2*5*7*9 ==157 mod 630

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.230 s. - webmaster@yulucn.com