数学知识模板之欧几里得算法

欧几里得算法求最大公约数

int gcd(int a,int b)
{
	return b ? gcd(b,a % b) : a;
}

扩展欧几里得算法

// x,y是使x * a + y * b = d的一组解
int exgcd(int a,int b,int &x,int &y)
{
	if(!b)
	{
		x = 1,y = 0;
		return a;
	}
	int d = exgcd(b,a % b,y,x);
	y -= a / b * x;
	return d;
}
posted @ 2023-03-19 21:06  知凹  阅读(42)  评论(0)    收藏  举报