算法:求最大公约数与最小公倍数

来源:互联网 发布:数据库except 编辑:程序博客网 时间:2024/06/03 17:33
//利用辗转相除法求最大公约数(循环)int gcd(int x, int y) {    int t;    while (y) {        t = x%y;        x = y;        y = t;    }    return x;}
//利用辗转相除法求最大公约数(递归)int gcd(int x, int y) {    return y ? gcd(y, x%y) : x;}
//利用辗转相减法求最大公约数int gcd(int x, int y) {    while (x != y) {        if (x > y)            x -= y;        else            y -= x;    }    return x;}
//求最小公倍数int lcm(int x, int y) {    return x*y / gcd(x, y);}