欧几里得算法
欧几里得算法:
算法:
证明如下:
令
可得:
继而推出:
因此,
int gcd(int a,int b){
if(b == 0){
return a;
}
return gcd(b,a % b);
}
扩展欧几里得算法:
功能:可以在知道
证明如下:
已知有方程
由欧几里得算法得
移项,得:
易得:
int x,y;
void ex_gcd(int a,int b){
if(b == 0){
x = 1;
y = 0;
return;
}
ex_gcd(b,a % b);
int t = x;
x = y;
y = t - (a/b)*y;
}
应用:
- 判断不定方程
是否有解:
有解的条件: - 得出不定方程的通解:
- 模线性方程
的解
由方程可得:
于是设出方程
由第二条即可解出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具