exgcd 及其应用
更新日志:
- 2023/01/15:初稿发布
- 2023/10/15:更改了一些
markdown
格式和文章结构,使文章更加可读
一、前置芝士
- 裴蜀定理
- 同余的性质
二、exgcd
1. 适用范围
exgcd
即 扩展欧几里得定理,常用来求解
2. 推导过程:
考虑我们有:
裴蜀定理
我们求解 gcd
时,通常有:
直到
此时我们看出,
现在我们考虑怎么从
从上面给出的例子,我们可以推出:
然后我们可以推出:
3. 代码:
int exgcd(int a,int b,int &x,int &y){ if(!b){x = 1;y = 0;return a;} int d = exgcd(b,a%b,x,y); int t = x; x = y; y = t - (a/b) * y; return d; }
4. 常见应用
(1) 同余方程
定义:
形如
的方程称为同余方程,其中 给出,求
求解方式:
我们按上面的方程可以化出这个式子
用
exgcd
求解即可
本文来自博客园,作者:ricky_lin,转载请注明原文链接:https://www.cnblogs.com/rickylin/p/17053687.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步