QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2651|回复: 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
    以下给出一个求乘法逆元的方法,主要是使用除数的积来求逆,供大家参考,如有不足,欢迎大家批评指正。0 U) Q8 q1 b+ h
    设 (a,n)=1  (ri,n)=1  (qi,n)=1  1≤i≤m
    4 ^5 g0 n) q) d/ h6 d0 L9 |! t  a*r1≡q1 (mod n)0 G$ H# ?  U7 v+ }* c, g" y
      q1*r2≡q2 (mod n)
    & O  s& T8 B/ e. I: s# j  q2*r3≡q3 (mod n)4 ~4 h0 ~( p. @. z
       .* C1 c: G' M/ H. E. c. ^
       .
    . c" C' x0 q8 i3 `! ~  .! @9 {+ e' ]+ ]6 Z5 L: w" U/ E
      qm-1*rm≡qm (mod n)1 j' D6 G0 i4 v4 A
    上述等式相乘,得:
    8 ^( e# X5 y- K- V" p  a*(r1*r2*...*rm-1)*(q1*q2*...*qm)≡r1*r2*...*rm-1*rm (mod n) =>
    " O( X% K  w9 g! P9 j/ ~' ]1 Q  a*(q1*q2*...*qm)≡rm (mod n)
    * S6 e0 z: o% c4 |8 k  如果对qi(1≤i≤m)进行如下的限定:9 {5 I+ j# Z0 ^9 K3 q5 y% |  a
       a>|q1|>|q2|>...>|qi|>...>|qm-1|>|qm|
    2 G: v& x) X* N6 {1 _6 p0 e  P* x   则 qm=±1) i5 B; J+ t9 S# Q& a) F
      即 a与q1*q2*...*qm互逆
    / ?/ G. X" H- C; ?& g6 m& O8 E) ^: `6 }  例 求28在299的逆) j0 ?, |4 D3 x7 e8 U- _1 l
         28*11≡9 (mod 299); z5 m& J- o: b, e. m+ Z
         9*33≡-2  (mod 299)" \1 p3 ]# S1 a- |6 Y4 ^* S# B6 X
         -2*-150≡1 (mod 299)) r; r# J, G7 k2 f' p
      逆为:    11*33*-150≡-32 (mod 299)8 A7 c* K, A3 H  R2 J0 Y9 C( g+ n
         28*-22≡-1 (mod 299)
    + C) y" u+ W$ K$ G" A  但该方法有个最大的问题,当(qi,n)>1时,该方法将无法继续往下计算逆。
    ; E6 j1 ]1 V" d3 X. ^: \ 下面给出其中一个算法:
    / R. D- R" n0 m. |0 x3 o& Z" k6 [  1    输入a,n  
    + D6 x  b& Z( y6 R! X  2   resulte = 1   ; 保存逆的结果
    " |4 f4 N! B' W% f) f( Q  3   r=n/a+1      ; 保证 r*a>n, p6 M/ J8 J6 Q& O5 R1 k3 n& ^
      4  q=r*a-n       ; 得到余数,该余数小于a) z' I% E8 v, ^/ Z$ r9 h
      5  resulte=(resulte*r)%n   
    8 J; V% o" L) T, Z2 U$ E  6  if q=1  then  print(逆为: resulte) return  resulte' C$ Q  `' u, l7 t% [/ q
      7  if q=0 or q=a then  print(存在因子: a)  return a ;6 g$ a  @$ x* y1 B9 j7 T# q4 `
      8  a=q
    1 C. o+ E+ H/ K5 q; t  9  goto 35 r/ Q; r, W3 V/ ?  [! l/ \

    0 K7 D  l4 d" i3 J, {- r

    一个求乘法逆元的方法.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-9-11 07:04 , Processed in 0.722211 second(s), 52 queries .

    回顶部