写一个可以输出m和n最大公约数和最小公倍数的程序C语言
时间: 2024-06-02 18:14:05 浏览: 8
#include <stdio.h>
int main() {
int m, n, gcd, lcm, temp;
printf("请输入两个正整数m和n:\n");
scanf("%d%d", &m, &n);
// 求最大公约数
while (n > 0) {
temp = n;
n = m % n;
m = temp;
}
gcd = m;
// 求最小公倍数
lcm = m * (n / gcd);
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
相关问题
用除法求两个数m和n的最大公约数和最小公倍数C语言
以下是用除法求两个数m和n的最大公约数和最小公倍数的C语言代码实现:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int m, int n) {
int r;
while (n != 0) {
r = m % n;
m = n;
n = r;
}
return m;
}
// 求最小公倍数
int lcm(int m, int n) {
return m * n / gcd(m, n);
}
int main() {
int m = 12, n = 18;
printf("m和n的最大公约数为:%d\n", gcd(m, n));
printf("m和n的最小公倍数为:%d\n", lcm(m, n));
return 0;
}
```
辗除法求两个数m和n的最大公约数和最小公倍数C语言
以下是使用辗转相除法求两个数m和n的最大公约数和最小公倍数的C语言代码:
```c
#include <stdio.h>
int main() {
int m, n, temp, gcd, lcm;
printf("请输入两个正整数m和n,以空格隔开:\n");
scanf("%d %d", &m, &n);
int a = m, b = n;
// 求最大公约数
while (n != 0) {
temp = m % n;
m = n;
n = temp;
}
gcd = m;
// 求最小公倍数
lcm = a * b / gcd;
printf("%d和%d的最大公约数为:%d\n", a, b, gcd);
printf("%d和%d的最小公倍数为:%d\n", a, b, lcm);
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)