当前位置:首页 C++ > 正文

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

作者:野牛程序员:2023-07-03 07:08:50 C++阅读 2631

在C++中,可以使用以下函数来求最大公约数(GCD)和最小公倍数(LCM):

#include <iostream>

// 函数声明
int findGCD(int num1, int num2);
int findLCM(int num1, int num2);

int main() {
    int num1, num2;

    std::cout << "输入两个整数:";
    std::cin >> num1 >> num2;

    // 求最大公约数
    int gcd = findGCD(num1, num2);
    std::cout << "最大公约数: " << gcd << std::endl;

    // 求最小公倍数
    int lcm = findLCM(num1, num2);
    std::cout << "最小公倍数: " << lcm << std::endl;

    return 0;
}

// 函数定义 - 求最大公约数
int findGCD(int num1, int num2) {
    // 使用辗转相除法(欧几里得算法)求最大公约数
    while (num2 != 0) {
        int temp = num2;
        num2 = num1 % num2;
        num1 = temp;
    }

    return num1;
}

// 函数定义 - 求最小公倍数
int findLCM(int num1, int num2) {
    int gcd = findGCD(num1, num2);
    // 最小公倍数 = (num1 * num2) / 最大公约数
    int lcm = (num1 * num2) / gcd;

    return lcm;
}

以上代码通过输入两个整数,然后调用函数 findGCD()findLCM() 来计算最大公约数和最小公倍数。函数 findGCD() 使用辗转相除法(欧几里得算法)来求最大公约数,而函数 findLCM() 则利用最大公约数来计算最小公倍数。输出结果会显示最大公约数和最小公倍数的值。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击