龙空技术网

数论中的倒数逆元

万物皆有源 276

前言:

目前朋友们对“5循环置换21354的逆元为”大约比较关怀,大家都想要知道一些“5循环置换21354的逆元为”的相关资讯。那么小编在网上搜集了一些关于“5循环置换21354的逆元为””的相关资讯,希望兄弟们能喜欢,兄弟们一起来学习一下吧!

在数学的乘法中,如果ab=1,我们就称a,b互为倒数,其它一些场合,也称为逆元。

那么,在数论里面,因为不能出现小数,那这种逆元是否存在呢?

先来引入求余概念 :(以下内容来自网络)

(a + b) % p = (a%p + b%p) %p (对)

(a - b) % p = (a%p - b%p) %p (对)

(a * b) % p = (a%p * b%p) %p (对)

(a / b) % p = (a%p / b%p) %p (错)

其中的符号/表示整除,%表示取余数运算。

上面运算规则中的除法是错误的,举一个例子就可以明白了:

(6/2)%4=3,(6%4)/(2%4)=2/2=1

所以,(a / b) % p = (a%p / b%p) %p 是错的。

那么,在求余过程中遇到除法怎么办???这就体现出逆元的重要性了。

如果 ax = 1;那么 x 是 a 的倒数, x = 1/a;

但是a如果不是1,那么x就是小数。

那数论中,大部分情况都有求余,所以现在问题变了:

ax = 1 (mod p)

那么x一定等于1/a吗???

当然不一定!!!!!

所以这时候,就把x看成a的倒数,只不过加了一个求余条件,所以x叫做: a关于p的逆元。

比如2 * 3 % 5 = 1,那么3就是2关于模5的逆元,或者说2和3关于模5互为逆元

这里3的效果是不是跟1/2的效果一样,所以才叫数论倒数(逆元)

a的逆元,用 inv(a)来表示

那么 (a / b) % p = (a * inv(b) ) % p = (a % p * inv(b) % p) % p

假设有方程 ax + by = 1。由欧拉定理我们知道,如果ab互质,则方程有解。

那么这个解出来的x就是a关于b的逆元,y就是b关于a的逆元。

给方程两边同时对b求余:

a * x % b + b * y % b = 1 % b   (b * y % b =0)

变成  a*x % b = 1 % b

转换个表示形式  a * x ≡ 1(mod b)

此方法求逆元时,一定要符合要求,即:ax + by = 1 且 gcd ( a, b) = 1 (a, b 互质),这样代入函数求出的结果才对应。

所以x就是a关于b的逆元,同理可证y。(以上内容来自网络)

比如,3x+5y=1,a=3,b=5

a * x % 5 + 5 * y % 5 = 1 % 5

可得 a * x % 5 = 1 % 5

x=2,7等就是3的逆元。但当规定x处于0到5也就是b之间的时候,解唯一

标签: #5循环置换21354的逆元为