用c语言输入两个整数输出第一个的最大公因数,第二个的最小公倍数
时间: 2024-10-18 09:14:25 浏览: 39
在C语言中,我们可以使用欧几里得算法(Euclidean algorithm)来求两个整数的最大公约数(Greatest Common Divisor, GCD),然后利用公式 `LCM(a, b) = |a * b| / GCD(a, b)` 来计算它们的最小公倍数(Least Common Multiple, LCM)。下面是一个简单的步骤:
1. 定义一个函数 `gcd` 计算最大公约数:
```c
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
```
2. 接着,在主程序中获取用户输入,计算并输出结果:
```c
#include <stdio.h>
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
// 计算最大公约数
int result_gcd = gcd(num1, num2);
// 计算最小公倍数
int lcm = abs(num1 * num2) / result_gcd;
printf("第一个数字 (%d) 和第二个数字 (%d) 的最大公约数是:%d\n", num1, num2, result_gcd);
printf("它们的最小公倍数是:%d\n", lcm);
return 0;
}
```
当你运行这个程序时,它会提示用户输入两个整数,然后显示它们的最大公约数和最小公倍数。
阅读全文