扩展欧几里得算法模板

扩欧: 用于求 不定方程 的 一组 整数解
通解形式:
x=x0+b/gcd(a,b)
y=y0-a/gcd(a,b)

ax+by=gcd(a,b)时
特解的方法

int gcd(int a,int b){
	if(b==0)return a;
	return gcd(b,a%b);
}
int exgcd(int a,int b,int &x,int &y){
	if(b==0){
		x=1,y=0;
		return a;
	}
	int x1,y1,d;
	d=exgcd(b,a%b,x1,y1);
	x=y1,y=x1-a/b*y1;
	return d;
}

当ax+by=c,若c能被gcd(a,b)整除,那么在原来的基础上*c/gcd(a,b)即可求得特解

posted @   Marinaco  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示