数学-乘法逆元
因为luogu博客不知道为什么一直抽风,数学公式有渲染不出来,所以我直接用图片了...
1.定义
逆元素,是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数。
如果说 a 在模 p 意义下的乘法逆元是 x,那么
2.求逆元的方法
·扩展欧几里得
1. 同余方程的转化
∵
∴
∴
根据模的定义,我们设
∵
∴
∴
∵
∴
当
∴
2. 扩展欧几里得的求解
设
设
那么
∵
∴
∴
那么
其实这便于 辗转相除法 相同,通过不断缩小求解未知数,然后递归求解。
代码如下
#include<bits/stdc++.h>
#define int long long
using namespace std;
int x,y;
void exgcd(int a,int b){
//ax+by=gcd(a,b);
if(b==0){
x=1;
y=0;
return;
}
exgcd(b,a%b);
int tmp=x;
x=y;
y=tmp-a/b*y;
}
signed main(){
long a,b;
cin>>a>>b;
exgcd(a,b);
x=(x%b+b)%b;
cout<<x;
return 0;
}
作者:wh1sky
出处:https://www.cnblogs.com/wh1sky/p/17557715.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
本文来自博客园,作者:Wh1sky,转载请注明原文链接:https://www.cnblogs.com/wh1sky/p/17557715.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!