CINTA作业9,中国余数定理(CRT)

中国余数定理(CRT)

2 egcd算法求解得19在模11下的乘法逆元为7,11在模19下的乘法逆元为7,所以x= 19 ∗ 8 ∗ 7 + 11 ∗ 3 ∗ 7 m o d ( 11 ∗ 19 ) = 41 19*8*7+11*3*7mod(11*19)=41 1987+1137mod(1119)=41
3

先求M= 5 ∗ 7 ∗ 9 ∗ 11 = 3465 5*7*9*11=3465 57911=3465 b 1 = M / m 1 = 693 b_1=M/m_{1}=693 b1=M/m1=693,同理得 b 2 = 495 , b 3 = 385 , b 4 = 315 b_{2}=495,b_{3}=385,b_{4}=315 b2=495,b3=385,b4=315,求乘法逆元 b 1 − 1 = 2 , b 2 − 1 = 3 , b 3 − 1 = 4 , b 4 − 1 = 8 b^{-1}_{1}=2,b^{-1}_{2}=3,b^{-1}_{3}=4,b^{-1}_{4}=8 b11=2,b21=3,b31=4,b41=8,所以 x = 693 ∗ 2 ∗ 1 + 495 ∗ 3 ∗ 2 + 385 ∗ 4 ∗ 3 + 315 ∗ 8 ∗ 4 = 19056 m o d ( 3465 ) = 1731 x=693*2*1+495*3*2+385*4*3+315*8*4=19056mod(3465)=1731 x=69321+49532+38543+31584=19056mod(3465)=1731

4

x mod (mn)=a,证明如下

xa(mod m)

​ x≡a(mod n)

令x=km+a,带入下式得 km+a≡a(mod n),即 km≡0(mod n),所以n | km,有m与n互素,所以n | k,k=tn,t为整数,所以x=tmn+a,x mod mn=a。证明完

5 CRT算法

def mul_reverse_element(a,m):
    r0,r1,s0,s1=1,0,0,1
    b=m
    while(b):
        q,a,b=a//b,b,a%b
        r0,r1=r1,r0-q*r1
    if a!=1:
        return -1
    else:
        return (r0+m)%m
def CRT(a,b,p,q):
    p1=mul_reverse_element(p,q)
    q1=mul_reverse_element(q,p)
    x=(a*q*q1+b*p*p1)%(p*q)
    return x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值