拓展欧几里得算法详解
欧几里得算法
一般形式
gcd(a,b)=gcd(a mod b,b)gcd(a,b)=gcd(a \bmod b,b)gcd(a,b)=gcd(amodb,b)
证明
因为 gcd(a,b)=gcd(b,a−b)gcd(a,b)=gcd(b,a-b)gcd(a,b)=gcd(b,a−b),所以可以简化减法运算为模运算。
即 gcd(a,b)=gcd(b,a mod b)gcd(a,b)=gcd(b,a \bmod b)gcd(a,b)=gcd(b,amodb)。
code
inline int gcd (register const int x, register const int y)
{
return y == 0 ? x : gcd (y, x % y);
}
主要步骤
拓展欧几里得算法主要用来求一个形如 ax+by=kax + by = kax+b

最低0.47元/天 解锁文章
1429

被折叠的 条评论
为什么被折叠?



