数论专题小结:gcd算法与exgcd算法

1.gcd算法

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

2.扩展gcd算法

void exgcd(int a, int b, int&d, int&x, int&y)//d是最大公约数,x,y是ax+by=d的一组解
{
	if (!b){ x = 1, y = 0, d = a; }
	else
	{
		exgcd(b, a%b, d, y, x);
		y -= x*(a / b);
	}
}


你可能感兴趣的:(数学,gcd)