以下是用C语言实现求最大公约数和最小公倍数的程序:
这个程序中,我们定义了两个函数gcd和lcm,分别用于求取最大公约数和最小公倍数。gcd函数使用递归的
方式实现辗转相除法,直到b等于0时返回a,即为最大公约数。lcm函数则直接用a和b相乘再除以它们的最
大公约数即可得到最小公倍数。
在主函数中,我们首先输入两个整数num1和num2,然后分别调用gcd和lcm函数计算它们的最大公约数和
最小公倍数,并输出结果。
#include <stdio.h>
int gcd(int a, int b) { // 函数用来求最大公约数
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int lcm(int a, int b) { // 函数用来求最小公倍数
return a * b / gcd(a, b);
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("最大公约数是:%d", gcd(num1, num2));
printf("最小公倍数是:%d", lcm(num1, num2));
return 0;
}