21xrx.com
2024-12-23 07:47:23 Monday
登录
文章检索 我的文章 写文章
如何编写求最小公倍数和最大公约数的C语言代码
2023-06-14 22:16:10 深夜i     --     --

在编程中,求最小公倍数和最大公约数是非常基本的操作。在C语言中,我们可以使用辗转相减法或欧几里德算法来求解。

对于最小公倍数(LCM),我们可以使用以下公式:

LCM = (a * b) / gcd(a, b)

而对于最大公约数(GCD),我们可以使用以下公式:

GCD = gcd(a, b)

以下是示例代码:


#include

// 函数声明

int gcd(int a, int b);

int lcm(int a, int b);

int main() {

  int a, b;

  printf("请分别输入两个数字:\n");

  scanf("%d %d", &a, &b);

  printf("最大公约数是 %d\n", gcd(a, b));

  printf("最小公倍数是 %d\n", lcm(a, b));

  return 0;

}

// 辗转相减法求最大公约数

int gcd(int a, int b) {

  if (a == b)

    return a;

  

  if (a < b) {

    return gcd(b, a);

  }

  return gcd(a - b, b);

}

// 欧几里德算法求最小公倍数

int lcm(int a, int b) {

  return (a * b) / gcd(a, b);

}

通过上述代码,我们可以输入两个数字并计算它们的最大公约数和最小公倍数。

接下来是一些关键词,我们可以从文章中提取出来:

- C语言

- 最大公约数

- 最小公倍数

- 辗转相减法

- 欧几里德算法

- 示例代码

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复