C語言怎么求兩個(gè)數(shù)的最小公倍數(shù)

小億
191
2023-08-08 03:22:47
欄目: 編程語言

要求兩個(gè)數(shù)的最小公倍數(shù),可以通過求兩個(gè)數(shù)的最大公約數(shù)來實(shí)現(xiàn)。

首先,我們可以使用輾轉(zhuǎn)相除法求兩個(gè)數(shù)的最大公約數(shù),即用較大的數(shù)除以較小的數(shù),然后用余數(shù)來除較小的數(shù),繼續(xù)進(jìn)行這個(gè)過程,直到余數(shù)為0,而除數(shù)就是兩個(gè)數(shù)的最大公約數(shù)。

接下來,可以利用最大公約數(shù)求得兩個(gè)數(shù)的最小公倍數(shù)。最小公倍數(shù)等于兩個(gè)數(shù)的乘積除以最大公約數(shù)。

下面是使用C語言實(shí)現(xiàn)的代碼示例:

#include <stdio.h>
// 求最大公約數(shù)
int gcd(int a, int b) {
int temp;
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
return a;
}
// 求最小公倍數(shù)
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int num1, num2;
printf("請(qǐng)輸入兩個(gè)整數(shù):");
scanf("%d %d", &num1, &num2);
printf("最小公倍數(shù)為:%d\n", lcm(num1, num2));
return 0;
}

運(yùn)行程序時(shí),會(huì)要求輸入兩個(gè)整數(shù),然后輸出它們的最小公倍數(shù)。

0