21xrx.com
2024-11-22 12:54:07 Friday
登录
文章检索 我的文章 写文章
如何用C语言求解最大公约数和最小公倍数
2023-06-16 11:08:13 深夜i     --     --
C语言 最大公约数 最小公倍数 辗转相除法 最大公约数与最小公倍数的求解

在学习编程的过程中,我们经常需要用到数学知识。其中涉及到最大公约数和最小公倍数的计算。而在C语言中,我们可以使用循环和条件语句实现求解最大公约数和最小公倍数。本文将介绍如何用C语言求解最大公约数和最小公倍数。

求解最大公约数

最大公约数是指两个数中最大的公因数。在C语言中,我们可以使用辗转相除法来求解最大公约数。具体过程如下:

1. 读入两个整数a和b。

2. 比较a和b的大小,令r = a % b。

3. 若r等于0,则b即为最大公约数。

4. 若r不等于0,则令a = b,b = r,再执行步骤2。

5. 最终得到的b即为最大公约数。

下面是用C语言实现求解最大公约数的代码:


#include

int main()

{

  int a, b, r;  // 声明变量a、b、r

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

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

  while (r = a % b)  // 进行辗转相除运算

  

    a = b;      // 交换a和b

    b = r;

  

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

 

  return 0;

}

求解最小公倍数

最小公倍数是指两个数中能够同时被整除的最小正整数。在C语言中,我们可以用最大公约数来求解最小公倍数。具体过程如下:

1. 求出a和b的最大公约数g。

2. 最小公倍数l等于a*b/g。

下面是用C语言实现求解最小公倍数的代码:


#include

int main()

{

  int a, b, l, g, t;  // 声明变量a、b、l、g、t

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

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

  // 求最大公约数

  g = a;

  t = b;

  while (t != 0)

  

    l = g % t;

    g = t;

    t = l;

  

  // 求最小公倍数

  l = a * b / g;

  printf("最小公倍数是:%d\n", l);

  return 0;

}

  
  

评论区

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