位是否使用 JavaScript 在整数中交替?
问题
我们需要编写一个JavaScript函数,它接受一个整数num作为第一个也是唯一的参数。
我们的函数应该检查num的二进制表示是否具有交替位——即,两个相邻位是否总是具有不同的值。
例如,如果函数的输入是
输入
const num = 5;
输出
const output = true;
输出说明
因为5的二进制形式是具有交替位的101。
示例
以下是代码-
const num = 5; const isAlternating = (num = 1) => { const binary = num.toString(2); let curr = binary[0]; for(let i = 1; i < binary.length; i++){ const el = binary[i]; if(curr !== el){ curr = el; continue; }; return false; }; return true; }; console.log(isAlternating(num));输出结果
true