c语言求两个数的最大公约数和最小公倍数

以下是使用 C 语言实现求两个数的最大公约数和最小公倍数的示例代码:

#include <stdio.h>

// 定义函数 gcd,用于计算两个整数的最大公约数
int gcd(int a, int b) {
    int temp;
    while (b != 0) {
        temp = a % b;
        a = b;
        b = temp;
    }
    return a;
}

// 定义函数 lcm,用于计算两个整数的最小公倍数
int lcm(int a, int b) {
    return a / gcd(a, b) * b;
}

int main() {
    int num1, num2;
    printf("请输入两个整数:");
    scanf("%d%d", &num1, &num2);
    printf("它们的最大公约数为:%d\n", gcd(num1, num2));
    printf("它们的最小公倍数为:%d\n", lcm(num1, num2));
    return 0;
}

在这个示例代码中,我们定义了两个函数 gcdlcm 来分别计算两个整数的最大公约数和最小公倍数。其中,gcd 函数使用了辗转相除法的思想来计算最大公约数,而 lcm 函数则通过先计算出两个整数的最大公约数,然后再用它们的乘积除以最大公约数来求得最小公倍数。

main 函数中,我们首先通过 scanf 函数从用户输入中读取两个整数,然后调用 gcdlcm 函数来计算它们的最大公约数和最小公倍数,并将结果输出到终端上。