C 语言求两个数的 LCM

17 Mar 2025 | 4 分钟阅读

在本主题中,我们将讨论 LCM 以及如何在 C 编程语言中获取两个数的 LCM。

LCM of two numbers in C

LCM 是一个数学术语,代表 最小公倍数 (LCM)。它是能被整数 n1 和 n2 完全整除的最小正数,不留下任何余数。LCM 也被称为最低公倍数。它表示为 LCM (a, b) 或 lcm (a, b)。例如,两个正数 72 和 120 的 LCM 是 360。

LCM 算法

以下是两个数的 LCM 算法:

步骤 1: 初始化正整数变量 A 和 B。

步骤 2: 将 A 和 B 的公倍数存储到 max 变量中。

步骤 3: 验证 max 是否可被变量 A 和 B 整除。

步骤 4: 如果 max 可被整除,则将 max 显示为两个数的 LCM。

步骤 5: 否则,max 的值增加,然后转到步骤 3。

步骤 6: 停止程序。

使用 while 循环计算两个数的 LCM

我们来看一个使用 while 循环在 C 语言中查找两个数 LCM 的例子。

Lcm.c

输出

Enter any two positive numbers to get the LCM
 15
12
 The LCM of 15 and 12 is 60.

如上面的程序所示,我们传入了两个正数 15 和 12,存储在变量 num1 和 num2 中。其中 max_div 变量存储了可被 num1 和 num2 两个变量整除的最大数。然而,两个数的 LCM 不能小于 max_div。

在 while 循环的每次迭代中,max_div 检查 if 条件中可被 num1 和 num2 变量整除的数。

如果上述条件不为真,max_div 将增加 1,并且循环的迭代将继续,直到 if 语句为真。

使用 GCD 计算两个数的 LCM

我们来看一个使用 GCD 在 C 语言中获取两个数 LCM 的程序。

Gcd.c

输出

Enter any two positive numbers:
 30
20
 The LCM of two numbers 30 and 20 is 60.

使用函数计算两个数的 LCM

我们来看一个使用函数在 C 语言中获取两个数 LCM 的程序。

Max.c

输出

 Enter any two positive numbers to get the LCM of:
 30
25
 LCM of 30 and 25 is 150.	

使用递归函数计算两个数的 LCM

我们来看一个使用递归函数在 C 语言中获取两个数 LCM 的程序。

Lcm_fun.c

输出

Enter any two positive numbers
26
20
 LCM of two numbers 26 and 20 is 260