C语言实现最大公约数和最小公倍数计算

最大公约数(Greatest Common Divisor,简称GCD)和最小公倍数(Least Common Multiple,简称LCM)是数学中的基本概念。可以使用以下C语言代码实现:

#include <stdio.h>

int gcd(int a, int b); // 计算最大公约数的函数
int lcm(int a, int b); // 计算最小公倍数的函数

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

int gcd(int a, int b) {
    if (b == 0)
        return a;
    else
        return gcd(b, a % b);
}

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

代码解释:

  1. 输入两个整数:程序首先提示用户输入两个整数,并使用scanf()函数将它们存储在变量xy中。
  2. 计算最大公约数 (GCD)gcd(int a, int b) 函数使用递归方法计算两个整数的最大公约数。递归的终止条件是 b == 0,此时 a 就是最大公约数。否则,递归调用 gcd(b, a % b),不断迭代直到 b 为 0。
  3. 计算最小公倍数 (LCM)lcm(int a, int b) 函数首先调用 gcd(a, b) 计算最大公约数,然后使用公式 a * b / gcd(a, b) 计算最小公倍数。
  4. 输出结果:程序最后输出计算得到的最大公约数和最小公倍数。

总结

这段代码展示了使用C语言计算最大公约数和最小公倍数的简单方法,通过递归函数 gcd 和公式计算 lcm,可以方便地实现这两个基本数学运算。

C语言实现最大公约数和最小公倍数计算

原文地址: https://www.cveoy.top/t/topic/jIPX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录