QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2110|回复: 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
    以下给出一个求乘法逆元的方法,主要是使用除数的积来求逆,供大家参考,如有不足,欢迎大家批评指正。
    - t" Y7 q1 G2 V4 n! y3 C+ ^4 ~设 (a,n)=1  (ri,n)=1  (qi,n)=1  1≤i≤m
    5 c: c/ v" R1 q' V, F, c( @/ {  a*r1≡q1 (mod n)3 k& `1 k1 S2 z, l( E8 ]$ N
      q1*r2≡q2 (mod n)# }/ |( d0 u5 Q9 s1 }, D/ x. c
      q2*r3≡q3 (mod n)
    " Y9 H# {: P1 t" f  h   .5 b, s# c" U7 P- P* w6 q1 \& Q
       .+ X4 n6 [9 Z- ?( V
      .9 X, z- O( n3 i8 u7 d- }
      qm-1*rm≡qm (mod n)
    1 c% s) @3 p( e( [. _2 F 上述等式相乘,得:
    * L2 G$ S4 B) A' ^  a*(r1*r2*...*rm-1)*(q1*q2*...*qm)≡r1*r2*...*rm-1*rm (mod n) =>& y* {2 {+ m$ e: X+ E
      a*(q1*q2*...*qm)≡rm (mod n)
    + H, V2 m- g3 I/ F7 ^/ G  如果对qi(1≤i≤m)进行如下的限定:
    1 n7 b, q! c6 @3 {5 s4 d4 t  ~   a>|q1|>|q2|>...>|qi|>...>|qm-1|>|qm|
    ( R* n8 l1 W) ^6 Q. h8 t   则 qm=±1
    0 e+ J' t# D: y9 R2 i  即 a与q1*q2*...*qm互逆; E0 |3 O# S4 C( k  Y% e1 y
      例 求28在299的逆
    4 ~8 p" t& c* G8 U7 l" z     28*11≡9 (mod 299)
    ) w8 \- A  a0 A" J6 O: g     9*33≡-2  (mod 299)
    ' E6 I' Q" G5 C( T8 c     -2*-150≡1 (mod 299)$ ~: [3 b/ C9 n$ x% v' b
      逆为:    11*33*-150≡-32 (mod 299)
    / t& N8 p3 `0 g! H5 C     28*-22≡-1 (mod 299)
    1 x5 [0 x1 s4 V7 n* _- G& x5 g  但该方法有个最大的问题,当(qi,n)>1时,该方法将无法继续往下计算逆。/ w: G1 V7 O2 s# H- M5 h, V4 h
    下面给出其中一个算法:+ m& y9 w/ q, Z. ]# G# H
      1    输入a,n  
    7 J8 X6 Y# [% I; B. Q3 T" A! W' F) m. E  2   resulte = 1   ; 保存逆的结果
    $ ^$ ~: J3 K5 X2 K  3   r=n/a+1      ; 保证 r*a>n& A6 X- [# M0 ~# t! k# a' o+ F
      4  q=r*a-n       ; 得到余数,该余数小于a! ?! o2 F& g: d, w2 R" Y7 k
      5  resulte=(resulte*r)%n   
    ' N& _  ]( T2 z8 ?% M3 D5 L2 B  6  if q=1  then  print(逆为: resulte) return  resulte) |+ Y! W1 t; y; B: {8 n) R
      7  if q=0 or q=a then  print(存在因子: a)  return a ;
    7 J$ U* k9 a5 e# O* @- c' n  8  a=q
    1 h7 v1 n; W& D7 |9 E7 o  9  goto 3
    . n/ X9 |* t! J: {8 o
    ) i- t! O) U% `' {0 P6 i' W! U

    一个求乘法逆元的方法.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, 2025-10-29 05:04 , Processed in 1.146225 second(s), 52 queries .

    回顶部