C语言输入两个整数,获得两个整数的最小公倍数和最大公约数
时间: 2024-04-29 14:23:14 浏览: 74
编程实现输入两个正整数,输出它们的最小公倍数和最大公约数.
4星 · 用户满意度95%
最小公倍数可以通过先求出两个整数的乘积,再除以它们的最大公约数来得到。
最大公约数可以使用辗转相除法(欧几里得算法)来求解,即用较大数除以较小数,得到余数,再用较小数除以余数,得到新的余数,依次重复这个过程,直到余数为0,此时较小数即为最大公约数。
以下是代码实现:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
int r;
while (b != 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
// 求最小公倍数
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int a, b;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
printf("最大公约数为:%d\n", gcd(a, b));
printf("最小公倍数为:%d\n", lcm(a, b));
return 0;
}
```
阅读全文