两个整数的最高公因数( HCF )或最大公除数( GCD )是可以精确地将两个整数相除(没有余数)的最大整数。
例如,HCF为60和72为12 。
示例1:使用for循环查找HCF
// program to find the HCF or GCD of two integers
let hcf;
// take input
let number1 = prompt('Enter a first positive integer: ');
let 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
循环继续进行,直到两个整数相等为止。