最大公约数

gcd(0,n)=n
a=bq+r,gcd(a,b)=gcd(b,r),辗转相除,最后r=0返回b
注意a是大数

int gcd(int a, int b) {
    return b == 0 ? a : gcd(b, a % b);
}

最小公倍数

int lcm(int a, int b) {
    return a * b / gcd(a, b);
}

你可能感兴趣的:(数学,数学)