21xrx.com
2024-09-20 05:46:35 Friday
登录
文章检索 我的文章 写文章
【C语言】如何求最大公约数和最小公倍数
2023-06-16 16:28:36 深夜i     --     --
C语言 最大公约数 最小公倍数

在C语言中,求最大公约数和最小公倍数是很常见的问题。在这里,我们将介绍如何使用C语言编写这些代码。

首先,让我们了解一下最大公约数和最小公倍数的概念。

最大公约数是指两个或多个数字共同拥有的最大因子,即能同时被它们整除的最大正整数。而最小公倍数是指两个或多个数字共同拥有的最小公倍数,即能被它们整除的最小正整数。

接下来,我们将分别介绍如何使用C语言编写求最大公约数和最小公倍数的代码。

求最大公约数:

#include

int main()

{

  int a, b, i, gcd;

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

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

  for(i=1; i<=a && i<=b; i++)

  {

    if(a%i==0 && b%i==0)

      gcd = i;

  }

  printf("%d和%d的最大公约数是:%d", a, b, gcd);

  return 0;

}

这个代码中使用了for循环来查找两个数字的最大公约数。当i既能被a整除,又能被b整除时,就将i的值赋给gcd变量。最后输出gcd的值即为所求的最大公约数。

求最小公倍数:

#include

int main()

{

  int a, b, max, i, lcm;

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

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

  max = (a>b)?a:b;

  for(i=max; ; i+=max)

  {

    if(i%a==0 && i%b==0)

      lcm = i;

      break;

  }

  printf("%d和%d的最小公倍数是:%d", a, b, lcm);

  return 0;

}

这个代码中先找出a和b中的最大值,然后从它开始不断地加上最大值,直到找到一个数可以同时被a和b整除,就将其赋值给lcm变量。最后输出lcm的值即为所求的最小公倍数。

  
  

评论区

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