• 作者:One_way
  • 分类: C++

最大公约数


辗转相除法

公式: GCD(a,b) = GCD(b,a%b)

cin >> a >> b;
if (a < b) swap(a, b);// 保证 a >= b
int c;
while (b) {
  c = b;
  b = a % b;
  a = c;
}
cout << a << endl;
// 递归(常用)
void gcd(int a, int b) {
  return b ? gcd(b, a % b) : a;
}
// C++ 函数
int x = __gcd(a, b);

最小公倍数


cin >> a >> b;
int x = gcd(a, b);
cout << a * b / x << endl;
转载自: https://www.cnblogs.com/oneway10101/p/16700567.html