ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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