本文介绍: 整数a的模逆元是满足ax一个模数m等于1。也就是找到一个xax≡1mod m.也可以x表示a−1需要注意模逆并不是总是存在例如m4a2,通过检查m的所有余数,可以很清楚地知道不能找到满足上面等式的a−1。当且仅当ma互质的时候,模逆是存在的。下面是模拟存在时候找到它们的两种方法,还有一种方法是在线性时间找到所有数的模逆。

逆元

定义

整数

a

a

a的模逆元是满足

a

x

acdot x

ax一个模数

m

m

m等于1。也就是找到一个

x

x

x:

a

x

1

     mod m.

a cdot x equiv 1 text{ ~~~~mod m.}

ax1     mod m.
可以

x

x

x表示

a

1

a^{-1}

a1

需要注意模逆并不是总是存在。例如

m

=

4

,

a

=

2

m=4, a=2

m=4,a=2通过检查m的所有余数,可以很清楚地知道不能找到满足上面等式的

a

1

a^{-1}

a1。当且仅当m和a互质的时候,模逆是存在的。

下面是模拟存在时候找到它们的两种方法,还有一种方法是在线性时间内找到所有数的模逆。

扩展欧几里得算法(Extended Euclidean algorithm)

考虑下面的等式(其中x和y是未知的)

a

x

+

m

y

=

1

a cdot x + m cdot y = 1

ax+my=1

求模逆的代码

pow(a, mod-2, mod)

原文地址:https://blog.csdn.net/qq_42725437/article/details/134770869

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36124.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注