AcWing 5056. 2的整数次幂-JavaScript
原题链接
简单
作者:
semicloud
,
2024-02-19 09:06:24
,
所有人可见
,
阅读 31
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
terminal: false,
});
/**
* 返回 n 是否是 2 的整数次幂
* @param {number} n
*/
function isPowerOfTwo(n) {
if (n <= 0) return false;
while (n > 1) {
// 这里用 & 比用 % 要好,% 更慢
if (n & 1) return false;
// 用 >> 比 /2 好,速度更快
n = n >> 1;
}
return true;
}
let l = 0;
rl.on('line', (line) => {
++l;
if (l > 1) {
const n = parseInt(line.trim());
console.log(isPowerOfTwo(n) ? 'YES' : 'NO');
}
});