1、最大公约数、最小公倍数的求解 以下程序为用辗转相除法求出两个正整数的最大公约数。若两个数分别存放在变量m和 n中,求最大公约数的算法如下,请上机调试程序并测试运行结果。
时间: 2023-11-28 10:51:02 浏览: 69
以下是用辗转相除法求解最大公约数和最小公倍数的程序,你可以参考一下:
```c
#include <stdio.h>
int gcd(int a, int b) {
while (b != 0) {
int r = a % b;
a = b;
b = r;
}
return a;
}
int lcm(int a, int b) {
int g = gcd(a, b);
return a * b / g;
}
int main() {
int m, n;
printf("请输入两个正整数:");
scanf("%d%d", &m, &n);
printf("最大公约数为:%d\n", gcd(m, n));
printf("最小公倍数为:%d\n", lcm(m, n));
return 0;
}
```
运行结果:
```
请输入两个正整数:12 18
最大公约数为:6
最小公倍数为:36
```
相关问题
以下程序用辗转相除法求出两个正整数的最大公约数和最小公倍数
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
a = int(input())
b = int(input())
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
其中,`gcd`函数用于求最大公约数,`lcm`函数用于求最小公倍数。程序输入两个正整数`a`和`b`,输出它们的最大公约数和最小公倍数。
c语言用辗转相除法求出两个正整数的最大公约数和最小公倍数
```c
#include <stdio.h>
int main() {
int a, b, gcd, lcm, temp;
printf("请输入两个正整数:");
scanf("%d %d", &a, &b);
// 求最大公约数
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
gcd = a;
// 求最小公倍数
lcm = (a * b) / gcd;
printf("%d和%d的最大公约数是%d,最小公倍数是%d\n", a, b, gcd, lcm);
return 0;
}
```
阅读全文