最小公倍数lcm与最大公因数gcd

据说这是欧几里得辗转相除法?

#include <iostream>
using namespace std;

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

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

int main()
{
    int a, b;
    while(cin >> a >> b)
    {
        cout << "最小公倍数 : " << lcm(a, b) << '\n';
        cout << "最大公因数 : " << gcd(a, b) << '\n';
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/zhaobaole2018/article/details/85378456