QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2545|回复: 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
    以下给出一个求乘法逆元的方法,主要是使用除数的积来求逆,供大家参考,如有不足,欢迎大家批评指正。" p+ U/ k8 Q% k3 H
    设 (a,n)=1  (ri,n)=1  (qi,n)=1  1≤i≤m. s2 f4 Q9 o/ A* P4 i
      a*r1≡q1 (mod n), Q7 Z, `+ U0 }6 ?/ [" k7 R) a
      q1*r2≡q2 (mod n)4 N, g0 ]3 l! Y
      q2*r3≡q3 (mod n)1 O* T7 n8 R! e# t; }5 j# t
       .1 O1 O3 ^1 ~) P' b4 i2 a* G- |
       .0 ^2 f- B$ [7 ^$ L) M, I2 Z4 d8 i  d
      .
    " q4 Y  N1 n5 {6 A  qm-1*rm≡qm (mod n)
    ' D# x; b3 J. k0 f, i$ S  F 上述等式相乘,得:
    ) t$ S  W  i7 w! p# i9 E: A  a*(r1*r2*...*rm-1)*(q1*q2*...*qm)≡r1*r2*...*rm-1*rm (mod n) =>9 m8 e$ g4 O% O' ~1 B! i
      a*(q1*q2*...*qm)≡rm (mod n) ; {% B, i( U  z
      如果对qi(1≤i≤m)进行如下的限定:
    6 X: ^; t  Q5 {+ \$ D, y6 e3 L" \4 U   a>|q1|>|q2|>...>|qi|>...>|qm-1|>|qm|/ t9 X# V0 S! r
       则 qm=±1
    5 n4 r" `# U& G9 d  即 a与q1*q2*...*qm互逆% ]0 q+ S1 i# [* T7 a
      例 求28在299的逆
    9 }7 ^* f# s( V" E' T" J' o) v     28*11≡9 (mod 299)
    # c' a( M( q* X8 Y( D     9*33≡-2  (mod 299)8 C& e2 e* P6 B; t( I* Z" A# f* |$ x
         -2*-150≡1 (mod 299)% l5 T. p  M, e3 t0 A% t; k9 V
      逆为:    11*33*-150≡-32 (mod 299)% w0 f! v. D: k+ x7 H. A0 r! m% r# p
         28*-22≡-1 (mod 299)
    & s; Q& `* W$ x  但该方法有个最大的问题,当(qi,n)>1时,该方法将无法继续往下计算逆。
    * p* D0 ~' M' q2 @' { 下面给出其中一个算法:
    5 K+ D. R) i5 \' t  J  1    输入a,n  
    9 g; D5 T* \7 v/ h  2   resulte = 1   ; 保存逆的结果
    & M& e1 g. f1 ~1 B, S7 _  3   r=n/a+1      ; 保证 r*a>n8 \7 q7 `! r  a3 _1 z4 d: U5 E: A
      4  q=r*a-n       ; 得到余数,该余数小于a
    1 f" n- Q0 H* p  g  5  resulte=(resulte*r)%n   : H( R2 }, J% k3 J
      6  if q=1  then  print(逆为: resulte) return  resulte! c  v8 m( z! Y) C8 E  A5 d: `
      7  if q=0 or q=a then  print(存在因子: a)  return a ;4 y% N) K; B5 k, B6 z
      8  a=q
    0 q; E. r( e' d  9  goto 3
    . P% Q  a/ B$ l4 Z9 {8 g6 b* A6 M# I* N! R* Z

    一个求乘法逆元的方法.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:50 , Processed in 0.416135 second(s), 53 queries .

    回顶部