本文主要是介绍算法学习(4):gcd和exgcd,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
GCD
inline int gcd(int a,int b) { return b == 0 ? a : gcd(b,a % b); }
EXGCD
- 第一种
int exgcd(int a, int b, int &x, int &y)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
int d = exgcd(b, a % b, x, y), x0 = x, y0 = y;
x = y0;
y = x0 - (a / b) * y0;
return d;
}
- 第二种
int exgcd(int a, int b, int &x, int &y)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
int d = exgcd(b, a % b, y, x); //这里交换了x和y
y -= (a / b) * x;
return d;
}
这篇关于算法学习(4):gcd和exgcd的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!