c语言求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数。(20分) 程序提示: 使用下面函数求最大公因子,其中v为最大公因子,若将v设为外部变量,则可不使用return语句。
时间: 2024-02-01 12:14:36 浏览: 64
C语言求两个数的最大公约数和最小公倍数
下面是一份 C 语言代码,可以实现求两个整数的最大公约数和最小公倍数:
```c
#include <stdio.h>
int gcd(int a, int b);
int lcm(int a, int b);
int main() {
int num1, num2, GCD, LCM;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
GCD = gcd(num1, num2);
LCM = lcm(num1, num2);
printf("%d 和 %d 的最大公约数为:%d\n", num1, num2, GCD);
printf("%d 和 %d 的最小公倍数为:%d\n", num1, num2, LCM);
return 0;
}
int gcd(int a, int b) {
int v;
while (b != 0) {
v = b;
b = a % b;
a = v;
}
return a;
}
int lcm(int a, int b) {
int GCD = gcd(a, b);
return a * b / GCD;
}
```
其中,`gcd` 函数用于求最大公约数,`lcm` 函数用于根据最大公约数求最小公倍数。在 `gcd` 函数中,使用了欧几里得算法来求最大公约数。在 `lcm` 函数中,先求出最大公约数,然后利用公式 `最小公倍数 = 两数之积 / 最大公约数` 来求最小公倍数。
阅读全文