// BigInt是大整數類下篇博客會介紹到,在要求不高情況下可以替換爲int類型
BigInt gcd(const BigInt & a, const BigInt & b) {
BigInt c= (a > b) ? a : b;
BigInt result = (a > b) ? b : a;
c = c % result;
while (c != 0) {
BigInt temp = c;
c = result;
result = temp;
c = c % result;
}
return result;
}
2.遞歸實現:
BigInt gcd(const BigInt& a, const BigInt& b) {
return (b == 0) ? a : gcd(b, a % b);
}
二.最小公倍數
一個重要的等式:最大公因數*最小公倍數 = 兩數的乘積
實現:
BigInt lcm(const BigInt& a, const BigInt& b) {
BigInt result = (a*b) / gcd(a, b);return result;
}