在C语言中,可以使用以下方法计算两个整数的最大公约数(GCD)和最小公倍数(LCM)
a = k1 * c b = k2 * c
其中k1和k2为整数。
辗转相除法的步骤如下:
以下是C语言实现的计算最大公约数的函数:
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int num1 = 56;
int num2 = 98;
printf("GCD of %d and %d is: %d\n", num1, num2, gcd(num1, num2));
return 0;
}
LCM(a, b) = (a * b) / GCD(a, b)
以下是C语言实现的计算最小公倍数的函数:
#include <stdio.h>
int gcd(int a, int b);
int lcm(int a, int b);
int main() {
int num1 = 56;
int num2 = 98;
printf("LCM of %d and %d is: %d\n", num1, num2, lcm(num1, num2));
return 0;
}
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);
}
领取专属 10元无门槛券
手把手带您无忧上云