输入整数m和n并输出他们的最小公倍数和最大公因数c语言中
时间: 2024-11-24 22:42:34 浏览: 8
在 C 语言中,计算两个整数 m 和 n 的最小公倍数 (LCM) 和最大公因数 (GCD) 可以通过以下算法实现:
1. **欧几里得算法 (Euclidean Algorithm)** 来求 GCD:
GCD(m, n) = gcd(n, m % n),其中 `%` 表示取余操作。
2. **辗转相除法** 或者 **更相减损术** 是求 GCD 的经典方法,对于较大数值,这种方法效率较低。但如果 m 和 n 已经很小,这种方法就足够了。
3. **求 LCM 通常需要 GCD**,因为 LCM(a, b) = |a * b| / GCD(a, b)。
以下是使用 C 语言实现这个功能的简单代码示例:
```c
#include <stdio.h>
// 使用 Euclidean Algorithm 计算 GCD
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
// 求 LCM
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int m, n;
printf("请输入两个整数 m 和 n: ");
scanf("%d %d", &m, &n);
int gcd_value = gcd(m, n);
int lcm_value = lcm(m, n);
printf("最大公因数 (GCD): %d\n", gcd_value);
printf("最小公倍数 (LCM): %d\n", lcm_value);
// 相关问题:
阅读全文