QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2473|回复: 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
    以下给出一个求乘法逆元的方法,主要是使用除数的积来求逆,供大家参考,如有不足,欢迎大家批评指正。
    + {& @  v) A$ T& k& z设 (a,n)=1  (ri,n)=1  (qi,n)=1  1≤i≤m
    * g) ?: x* n6 v" ^2 C7 U& N  I  a*r1≡q1 (mod n)
    ; H, l; O, {' e3 ~- l" L" n3 o  q1*r2≡q2 (mod n)+ G7 b& ], h3 m* b$ ^" v
      q2*r3≡q3 (mod n)
    9 g- u- X$ V9 K, q   .
    6 A( Q; R9 |: ~5 Y/ X   .
    ; Y# Y8 z, R3 `/ z  .7 W$ ~6 d, \9 U6 z
      qm-1*rm≡qm (mod n)
    % ?6 z' W8 E; x) h2 c1 ] 上述等式相乘,得:2 V% B* F6 z# k5 N6 {3 O0 Y/ y
      a*(r1*r2*...*rm-1)*(q1*q2*...*qm)≡r1*r2*...*rm-1*rm (mod n) =>
    7 u2 }- y: B% d5 R' H  a*(q1*q2*...*qm)≡rm (mod n) ! i# }  R* U/ U, ~' C4 j5 P
      如果对qi(1≤i≤m)进行如下的限定:
    1 t* B2 `5 k9 b1 [# t   a>|q1|>|q2|>...>|qi|>...>|qm-1|>|qm|5 }3 O8 L$ ~0 B2 k, n
       则 qm=±1
    # z: a0 Z7 y( a9 L. X8 w  即 a与q1*q2*...*qm互逆
    ! V: i. y6 h) v0 f  例 求28在299的逆
    4 c5 \% F/ |; Q' i  ]     28*11≡9 (mod 299)
    , v4 y* ?' U- e2 V3 J4 e2 u& W     9*33≡-2  (mod 299)
    7 C0 ^% C) i/ @* d1 w, V     -2*-150≡1 (mod 299)
    % H1 J* s, ~1 }3 Y5 q/ `6 @  逆为:    11*33*-150≡-32 (mod 299)
    7 |! J# Y* \; @1 I$ i2 N     28*-22≡-1 (mod 299)/ K4 T% V/ O0 j/ k% j& ~" u7 ~
      但该方法有个最大的问题,当(qi,n)>1时,该方法将无法继续往下计算逆。
      x3 n( @" V1 [' }9 M0 [9 ~ 下面给出其中一个算法:
    , c9 S8 O. w1 e: A8 a( Z  t  1    输入a,n  7 b& l* i1 C% F3 x
      2   resulte = 1   ; 保存逆的结果 % N. \) X8 f7 i' o' O
      3   r=n/a+1      ; 保证 r*a>n- x, I* b5 \1 B5 e' N( b" L% D" o
      4  q=r*a-n       ; 得到余数,该余数小于a
    ! e7 r- T% \: A8 B& h8 ^  5  resulte=(resulte*r)%n   
    ; a, W# t1 M5 B( Y  6  if q=1  then  print(逆为: resulte) return  resulte
    1 |% {+ g3 K' W0 P0 m; A, H( w  7  if q=0 or q=a then  print(存在因子: a)  return a ;9 v0 Y0 N& p1 a1 c+ G, G
      8  a=q
    1 f1 `9 {& z9 I; d: B* V  9  goto 36 X; \* f- f. F5 ~  ^5 z

    $ `  V: J% o; W( }3 ?/ p8 N% c

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

    回顶部