两个整数的最高公因数(HCF) 或最大公约数(GCD) 是可以将两个整数整除的最大整数(没有余数)。
例如,60 和 72 的 HCF 为 12。
示例 1: 使用 for 循环查找 HCF
// program to find the HCF or GCD of two integers let hcf; // take input const number1 = prompt('Enter a first positive integer: '); const number2 = 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。
在上述条件中,如果整数
number1 和
number2 都可以被
i 整除,则满足该条件的最大整数值计算。
示例 2: HCF 使用 while 循环和 if...else
// program to find the HCF or GCD of two integers // take input let number1 = prompt('Enter a first positive integer: '); let number2 = 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
在上面的程序中,
while
循环与
if...else
语句一起使用。
在每次迭代中,从较大的整数中减去较小的整数。并将结果分配给保存较大整数的变量。
while
循环一直持续到两个整数相等。