C语言中求最大公约数和最小公倍数,用C语言实现最大公约数和最小公倍数的计算方法


c

include

// 函数声明

int gcd(int a, int b);

int lcm(int a, int b);

int main() {

int num1, num2;

printf("输入两个整数: ");

scanf("%d %d", &num1, &num2);

int result_gcd = gcd(num1, num2);

int result_lcm = lcm(num1, num2);

printf("最大公约数: %d", result_gcd);

printf("最小公倍数: %d", result_lcm);

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);

}

这个程序首先定义了两个函数:`gcd`和`lcm`。`gcd`函数使用欧几里得算法来计算最大公约数,而`lcm`函数则通过两个数的乘积除以它们的最大公约数来计算最小公倍数。

在`main`函数中,程序首先提示用户输入两个整数,然后使用`scanf`函数读取这些输入。然后,它调用`gcd`和`lcm`函数来计算最大公约数和最小公倍数,并将结果打印到屏幕上。

输入两个整数: 48 72

最大公约数: 24

最小公倍数: 144

在这个例子中,48和72的最大公约数是24,最小公倍数是144。