QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2543|回复: 0
打印 上一主题 下一主题

一个乘法逆元的计算方法

[复制链接]
字体大小: 正常 放大
songls        

6

主题

3

听众

23

积分

升级  18.95%

  • TA的每日心情
    郁闷
    2023-12-11 09:00
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    跳转到指定楼层
    1#
    发表于 2023-12-10 20:02 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    以下给出一个求乘法逆元的方法,主要是使用除数的积来求逆,供大家参考,如有不足,欢迎大家批评指正。
    7 @0 H/ I! j  K/ i7 S设 (a,n)=1  (ri,n)=1  (qi,n)=1  1≤i≤m9 O7 e0 ?# @2 ~1 |( u# F5 }/ X( _0 }
      a*r1≡q1 (mod n)' P7 u' T8 l; D- G% t6 D
      q1*r2≡q2 (mod n)* m, ^% ^( X% R$ e% @2 o
      q2*r3≡q3 (mod n)/ q* l$ o7 |1 L2 O
       .0 ^" W3 Y6 b2 f6 Y* f+ f
       .: l7 D$ q" y: X% |. X- I
      .
    * T( ~3 @8 U  E2 @: r9 X! K4 f$ m7 I9 E  qm-1*rm≡qm (mod n)& B- e4 [+ D) N3 K. w& N  o
    上述等式相乘,得:
    + k& ]" @5 c, |8 g6 n1 V5 A/ g  a*(r1*r2*...*rm-1)*(q1*q2*...*qm)≡r1*r2*...*rm-1*rm (mod n) =># l8 y2 F$ P$ ^. Y
      a*(q1*q2*...*qm)≡rm (mod n)
    : M' \2 L2 k4 Y/ p  如果对qi(1≤i≤m)进行如下的限定:% c, {9 O) h; B3 u
       a>|q1|>|q2|>...>|qi|>...>|qm-1|>|qm|
    ) V: m. `3 _8 M' n) ?9 \5 g. c   则 qm=±1" a1 U0 ?0 M; t6 q: M4 c$ Q
      即 a与q1*q2*...*qm互逆" x" Y# X* t" V" T
      例 求28在299的逆
    . K; F6 d2 N4 y2 l6 T2 V3 ^6 E3 h     28*11≡9 (mod 299)* F5 u! W  p; \" o; L! Q
         9*33≡-2  (mod 299)
    : e6 S, l( x6 Z. D3 Y  n2 Z3 N+ z     -2*-150≡1 (mod 299)! h1 z, [5 q  P4 Q8 s# B1 e
      逆为:    11*33*-150≡-32 (mod 299)
    4 \* a! Y& q8 m( k     28*-22≡-1 (mod 299)( G& F4 x# I. W
      但该方法有个最大的问题,当(qi,n)>1时,该方法将无法继续往下计算逆。2 _3 S  p) e; h0 a
    下面给出其中一个算法:1 O+ e. a$ F: U+ G* c4 e) V
      1    输入a,n  ! I- B# h9 j. @. s& H  m
      2   resulte = 1   ; 保存逆的结果
    / Y9 Q* M4 i; w8 ~) D  3   r=n/a+1      ; 保证 r*a>n. O" ?4 \# v! O8 D
      4  q=r*a-n       ; 得到余数,该余数小于a
    ( i( ?9 F7 @; J( ^  L) M0 i  5  resulte=(resulte*r)%n   
    + O# ^; E2 @# M$ u/ I; Q. Z  6  if q=1  then  print(逆为: resulte) return  resulte
    : z% U7 g! i3 p- ~  7  if q=0 or q=a then  print(存在因子: a)  return a ;
    ) s) @8 n$ {" O0 A! H% o5 }  8  a=q
    ' x4 a3 _3 \% {2 [  9  goto 37 A" u8 z2 C$ c

    - f6 G  I5 i7 _$ I8 v

    一个求乘法逆元的方法.pdf

    39.85 KB, 下载次数: 0, 下载积分: 体力 -2 点

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-24 08:23 , Processed in 0.753788 second(s), 52 queries .

    回顶部