最大公约数和最小倍数用C语言
时间: 2024-11-05 16:04:59 浏览: 16
最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是两个基本的数学概念,在C语言中可以使用循环和条件判断来计算。以下是使用欧几里得算法(Euclidean Algorithm)来求最大公约数的例子:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
// 输出最大公约数
printf("最大公约数 (GCD) of %d and %d is: %d\n", num1, num2, gcd(num1, num2));
// 输出最小公倍数
printf("最小公倍数 (LCM) of %d and %d is: %d\n", num1, num2, lcm(num1, num2));
return 0;
}
```
在这个程序中,`gcd()`函数递归地计算两个数的最大公约数,`lcm()`则利用公式`(a * b) / gcd(a, b)`来计算最小公倍数。
阅读全文