c语言输入两个正整数m和n,求其最大公约数和最小公倍数。 输入5,8时,输出示例: 请输入两个正整数n,m:它们的最大公约数为:1 它们的最小公约数为:40
时间: 2024-10-13 09:07:58 浏览: 29
在C语言中,你可以通过欧几里得算法(Euclidean algorithm)来计算两个正整数的最大公约数(Greatest Common Divisor, GCD),然后利用最大公约数来找到最小公倍数(Least Common Multiple, LCM)。以下是计算GCD和LCM的C程序示例:
```c
#include <stdio.h>
// 计算最大公约数 (欧几里得算法)
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int m, n;
printf("请输入两个正整数n,m: ");
scanf("%d %d", &m, &n);
// 输出最大公约数
int result_gcd = gcd(m, n);
printf("它们的最大公约数为: %d\n", result_gcd);
// 输出最小公倍数
int result_lcm = lcm(m, n);
printf("它们的最小公倍数为: %d\n", result_lcm);
return 0;
}
```
当你运行此程序并输入`5`和`8`时,它会输出:
```
请输入两个正整数n,m: 它们的最大公约数为: 1
它们的最小公倍数为: 40
```
阅读全文