JavaScript 程序查找 HCF 或 GCD

要理解此示例,您应了解以下 JavaScript 编程 主题


两个整数的最大公约数(HCF)或最大公约数(GCD)是可以整除两个整数的最大整数(无余数)。

例如,6072 的 HCF 是 12


示例 1:使用 for 循环查找 HCF

// program to find the HCF or GCD of two integers

let hcf;
// take input
const number1 = parseInt(prompt('Enter a first positive integer: '));
const number2 = parseInt(prompt('Enter a second positive integer: '));

// looping from 1 to number1 and number2
for (let i = 1; i <= number1 && i <= number2; i++) {

    // check if is factor of both integers
    if( number1 % i == 0 && number2 % i == 0) {
        hcf = i;
    }
}

// display the hcf
console.log(`HCF of ${number1} and ${number2} is ${hcf}.`);

输出

Enter a first integer: 60
Enter a second integer: 72
HCF of 60 and 72 is 12.

在上面的程序中,用户被提示输入两个正数。

for 循环用于迭代从 1 到用户输入的数字。

if 条件和模运算符 % 用于查找两个数字的 HCF。

在上述条件中,如果两个整数 number1number2 都能被 i 整除,则计算满足该条件的最大整数值。


示例 2:使用 while 循环和 if...else 查找 HCF

// program to find the HCF or GCD of two integers

// take input
let number1 = parseInt(prompt('Enter a first positive integer: '));
let number2 = parseInt(prompt('Enter a second positive integer: '));

// looping until both numbers are equal
while(number1 != number2){
    if(number1 > number2) {
        number1 -= number2;
    }
    else {
        number2 -= number1;
    }
}

// display the hcf
console.log(`HCF is ${number1}`);

输出

Enter a first integer: 60
Enter a second integer: 72
HCF is 12

在上面的程序中,使用了带 if...else 语句的 while 循环。

在每次迭代中,将较小的整数减去较大的整数。并将结果赋给保存较大整数的变量。

while 循环一直持续到两个整数相等为止。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战