跳到主要内容

GCD 与 LCM

一、GCD与LCM的计算

template <typename T>
T gcd(T a, T b) {
return b == 0 ? a : gcd(b, a % b);
}

template <typename T>
T lcm(T a, T b) {
return a * (b / gcd(a, b));
}
C++

二、翡翠定理

内容: 对于不全为零的任意整数 a,ba, bg=gcd(a,b)g = \gcd(a, b), 则对于任意整数 x,yx, y 都满足 a×x+b×ya \times x + b \times ygg 的倍数. 特别的, 存在整数 xxyy 满足 a×x+b×y=ga \times x + b \times y = g

「裴蜀定理」也可以推广到多个整数的情况。对于不全为零的任意 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n, 记这 nn 个数的最大公约数为 gg, 则对于任意 nn 个整数 x1,x2,,xnx_1, x_2, \ldots, x_n 都满足 i=1nai×xi\sum_{i=1}^n a_i \times x_igg 的倍数。

  • 一个重要的推论是: 正整数 a1a_1ana_n 的最大公约数是 11 的充分必要条件是存在 nn 个整数 x1x_1xnx_n 满足 i=1nai×xi=1\sum_{i=1}^n a_i \times x_i = 1
请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...