求最大公约数和最小公倍数

设计一个函数求两个整数的最大公约数和最小公倍数,采用fun(const int &a,const &b)的方式来实现

你题目的解答代码如下:

#include <iostream>
using namespace std;

int fun(const int &a, const int &b, int &gcd, int &lcm)
{
    int num1 = a>b ? a : b;
    int num2 = a<b ? a : b;
    // 利用辗转法求最大公约数
    while (num2 != 0)
    {
        int temp = num1 % num2;
        num1 = num2;
        num2 = temp;
    }
    // 最大公约数
    gcd = num1;
    // 最小公倍数等于 两个数的乘积除以最大公约数
    lcm = a * b / gcd;
}
int main()
{
    int a = 45, b = 10, gcd, lcm;
    fun(a, b, gcd, lcm);
    cout << gcd << endl;
    cout << lcm << endl;
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img