快速幂求逆元

逆元的定义:
当 a m ≡ 1(mod p), m即为 a 在mod p 意义下的逆元。(需要注意只有a和p互质,a才有关于p的逆元)。
公式推导:
a * b % p ≡ a * m % p;(两边同时乘以b,再除以a)。
1 % p ≡ m * b % p(m为满足这个条件的最小的一一个数,我们就将其称之为b的逆元)。
费马小定理:
由费马小定理可知:对于任意的质数 p ,任意a都满足 ≡ a,化简可得:b *   ≡ b。与前面的逆元公式一一对应可得,m == 。
为什么除法要用逆元?
a * b % p == ( ( a % p ) * ( b % p ) ) % p
a / b % p != ( ( a % p ) / ( b % p ) ) % p
在除法运算中不可以对分子分母分别取模来进行计算,当 a 和 b 足够大时如果强行分别取模的话会导致精度缺失较大,结果就不准确了。
例题:牛客--小y的树
题目描述:
求一颗 n 层的满 k 叉树,求任意两点之间距离和等于多少,答案对取模。 树上两点距离: 沿着

快速幂求逆元最先出现在Python成神之路

版权声明:
作者:congcong
链接:https://www.techfm.club/p/23193.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>