跳到主要内容

JavaScript程序寻找最小公倍数

要理解这个示例,你应该掌握以下JavaScript编程主题的知识:

两个整数的最小公倍数(LCM)是能够被这两个整数整除的最小正整数。

例如,68 的 LCM 是 24

示例 1:使用 while 循环和 if 语句计算 LCM

// 程序找出两个整数的 LCM

// 获取输入
const num1 = prompt("请输入第一个正整数: ");
const num2 = prompt("请输入第二个正整数: ");

// 在 num1 和 num2 中更大的数存储在 min 中
let min = num1 > num2 ? num1 : num2;

// while 循环
while (true) {
if (min % num1 == 0 && min % num2 == 0) {
console.log(`数字 ${num1}${num2} 的 LCM 是 ${min}`);
break;
}
min++;
}

输出

请输入第一个正整数: 6
请输入第二个正整数: 8
数字 6 和 8 的 LCM 是 24

在上述程序中,提示用户输入两个正整数。

用户提供的两个数字中较大的数字存储在 min 变量中。两个数字的 LCM 不可能小于较大的数字。

使用 if 语句的 while 循环。在每次迭代中,

  • 变量 min 被 num1 和 num2 整除。
  • 如果两个数字的余数都等于 0,那么它就是 LCM,break 语句终止程序。
  • 如果两个数字的余数都不等于 0,则 min 的值增加 1 并且循环继续。
  • while 循环持续进行,直到满足条件。
if (min % num1 == 0 && min % num2 == 0)

两个数字的 LCM 也可以使用公式找到:

LCM = (num1 * num2) / HCF;

要了解如何找到 HCF,请访问JavaScript程序:寻找 HCF

示例 2:使用 HCF 计算 LCM

// 程序找出两个整数的 LCM

let hcf;
// 获取输入
const number1 = prompt("请输入第一个正整数: ");
const number2 = prompt("请输入第二个正整数: ");

// 从 1 循环到 number1 和 number2 查找 HCF
for (let i = 1; i <= number1 && i <= number2; i++) {
// 检查是否是两个整数的因子
if (number1 % i == 0 && number2 % i == 0) {
hcf = i;
}
}

// 计算 LCM
let lcm = (number1 * number2) / hcf;

// 显示 hcf
console.log(`数字 ${number1}${number2} 的 LCM 是 ${lcm}`);

输出

请输入第一个正整数: 6
请输入第二个正整数: 8
数字 6 和 8 的 LCM 是 24。

在上述程序中,首先计算两个数字的 HCF。然后使用给定公式计算 LCM。