21xrx.com
2025-04-06 19:21:05 Sunday
文章检索 我的文章 写文章
「C语言」求最大公因数和最小公倍数的方法
2023-06-17 16:44:36 深夜i     10     0
C语言 最大公因数 最小公倍数 辗转相除法 正整数

在日常学习和工作中,我们经常需要求两个整数的最大公因数和最小公倍数。本文将介绍在C语言中如何求解这两个常见的数学问题。

首先,要求最大公因数,我们可以使用辗转相除法,即不断用较小数去除较大数,直到两数相等为止。最终相等的这个数即为最大公因数。而求最小公倍数则可以通过使用两个整数的积除以它们的最大公因数来得到。

下面为大家提供一份C语言代码,可以求解任意两个正整数的最大公因数和最小公倍数:

#include 
int gcd(int a, int b) { // 求最大公因数
  int r;
  while (b > 0)
    r = a % b;
    a = b;
    b = r;
  
  return a;
}
int lcm(int a, int b) { // 求最小公倍数
  return a * b / gcd(a, b);
}
int main() {
  int x, y, max_common_divisor, min_common_multiple;
  printf("请输入两个正整数:\n");
  scanf("%d%d", &x, &y);
  max_common_divisor = gcd(x, y);
  min_common_multiple = lcm(x, y);
  printf("%d%d的最大公因数是%d,最小公倍数是%d\n", x, y, max_common_divisor, min_common_multiple);
  return 0;
}

  
  

评论区

请求出错了