สมมติว่าเรามีตัวเลข n เราต้องตรวจสอบว่าบิตทั้งหมดถูกตั้งค่า (1) สำหรับหมายเลขที่กำหนด n หรือไม่
ดังนั้น หากอินพุตมีค่าเท่ากับ n =255 ผลลัพธ์จะเป็น True เนื่องจากเลขฐานสองของ 255 คือ 11111111
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้าตัวเลขเหมือนกับ 0 แล้ว
- คืนค่าเท็จ
- ในขณะที่ตัวเลข> 0, ทำ
- ถ้าเป็นเลขคู่
- คืนค่าเท็จ
- จำนวน :=ผลหารของ (หมายเลข / 2)
- ถ้าเป็นเลขคู่
- คืนค่า True
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(number): if number == 0: return False while number > 0: if (number & 1) == 0: return False number = number >> 1 return True n = 255 print(solve(n))
อินพุต
255
ผลลัพธ์
True