21xrx.com
2024-09-20 01:02:41 Friday
登录
文章检索 我的文章 写文章
C语言中如何计算最大公约数和最小公倍数
2023-06-17 04:04:14 深夜i     --     --
C语言 最大公约数 最小公倍数 辗转相除法

在C语言中,计算两个数的最大公约数和最小公倍数是常见的问题。最大公约数是指两个数中能够同时整除的最大正整数,而最小公倍数则是指两个数的公共倍数中最小的一个。

以下是一种计算最大公约数和最小公倍数的C语言代码:


#include

// 函数声明

int get_gcd(int a, int b);

int get_lcm(int a, int b);

// 主函数

int main() {

  int num1, num2;

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

  scanf("%d %d", &num1, &num2);

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

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

  return 0;

}

// 计算最大公约数的函数

int get_gcd(int a, int b) {

  int remainder = a % b;

  while (remainder != 0)

    a = b;

    b = remainder;

    remainder = a % b;

  

  return b;

}

// 计算最小公倍数的函数

int get_lcm(int a, int b) {

  int gcd = get_gcd(a, b);

  return a * b / gcd;

}

从上面的代码中可以看出,在C语言中求解最大公约数和最小公倍数需要用到以下步骤:

1. 定义两个数num1和num2,并使用scanf()函数接收用户输入的值。

2. 写出计算最大公约数的函数get_gcd(),通过辗转相除法求解。

3. 写出计算最小公倍数的函数get_lcm(),并在函数中调用get_gcd()函数。

4. 在主函数中调用get_gcd()和get_lcm()函数,并用printf()函数输出结果。

  
  

评论区

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