mon Multiple,簡稱LCM)是指兩個或多個整數(shù)公有的倍數(shù)中,小的一個。求解小公倍數(shù)在數(shù)學(xué)中是一個常見的問題,也是程序員在編寫代碼時經(jīng)常需要解決的問題之一。下面介紹。
方法一暴力枚舉法
暴力枚舉法是樸素的方法,其基本思想是從兩個數(shù)的值開始,逐個枚舉直到找到小公倍數(shù)。以下是代碼實(shí)現(xiàn)
```cclude
tain()
{tax;
tf("請輸入兩個正整數(shù)");
ax = (a >b) ? a b; // 找出兩數(shù)中的值
while (1)
{axax % b == 0)
{ax;
break;
}ax++;
}
方法二輾轉(zhuǎn)相除法
輾轉(zhuǎn)相除法也稱為歐幾里得算法,是一種求解兩個數(shù)公約數(shù)的方法。小公倍數(shù)可以通過公約數(shù)求解得到。以下是代碼實(shí)現(xiàn)
```cclude
ttt b) // 求公約數(shù)
if (b == 0) a;
else gcd(b, a % b);
tain()
tf("請輸入兩個正整數(shù)");
= a b / gcd(a, b); // 求小公倍數(shù)
方法三循環(huán)求解
通過循環(huán)求解小公倍數(shù)的方法,可以大大降低時間復(fù)雜度。以下是代碼實(shí)現(xiàn)
```cclude
tain()
tf("請輸入兩個正整數(shù)");
for (i = 1; i<= a && i<= b; i++)
{
if (a % i == 0 && b % i == 0) = i;
}
以上三種方法都可以求解小公倍數(shù),不同的方法有不同的優(yōu)劣點(diǎn),可以根據(jù)具體情況選擇合適的方法。