JavaScript:如何不使用模运算符检查数字是否为偶数?


对于给定的整数,编写一个 JavaScript 程序来检查数字是奇数还是偶数,并将结果返回给用户。使用运算符检查数字是否为偶数非常容易。但是,在本文中,我们将不使用模运算符来检查数字是否为偶数。

使用 for 循环

在这种方法中,我们将使用 for 循环 来检查数字是否为偶数。其思想是将布尔标志变量设置为 true,并检查最多 n 次。如果标志的值恢复为true,则表示该值为偶数,否则为奇数。

示例

在下面的示例中,我们将使用 for 循环方法来检查数字是否为偶数。

// Returns true if n is even,
function isEven(n) {
   let isEven = true;
   for (let i = 1; i <= n; i++)
      isEven = !isEven;
   if (isEven)
      console.log(n + " is an Even number");
   else
      console.log(n + " is Odd");
}
// function call
isEven(101);
isEven(158);

以上代码的输出如下:

101 is Odd
158 is an Even number

使用乘法和除法

在这里,我们将数字除以 2,然后将结果乘以 2。如果结果与原始数字相同,则它是一个偶数。

示例

在这个 JavaScript 程序中,我们将使用乘法和除法来检查数字是否为偶数。

// Returns true if n is even,
function isEven(n) {
   // Return true if n/2 does not result
   // in a float value.
   if (parseInt(n / 2, 10) * 2 == n) {
      console.log(n + " is an Even number");
   } else {
      console.log(n + " is Odd");
   }
}
// function call
isEven(101);
isEven(158);

上述程序将产生以下结果:

101 is Odd
158 is an Even number

使用位运算符

在这种方法中,我们将使用按位与运算符来检查指定的数字是否为偶数。如果给定数字与 1 进行与运算的结果为 0,则该数字为偶数,否则为奇数。

示例

以下 JavaScript 程序演示了如何在不使用模运算符的情况下检查数字是否为偶数。

// Returns true if n is even,
function isEven(n) {
   // n&1 is 1, then odd, else even
   if (!(n & 1)) {
      console.log(n + " is an Even number");
   } else {
      console.log(n + " is Odd");
   }
}
// function call 
isEven(101);
isEven(158);

运行此代码后,您将得到以下结果:

101 is Odd
158 is an Even number

更新于:2024年9月30日

775 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告