Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบตัวเลขเป็นกำลังสองหรือไม่ใน Python


สมมติว่าเรามีตัวเลข n ต้องเช็คก่อนว่านี่กำลัง 2 หรือเปล่า

ดังนั้น หากอินพุตเป็น n =2048 เอาต์พุตจะเป็น True เนื่องจาก 2048 คือ 2^11

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า n เท่ากับ 0 แล้ว

    • คืนค่าเท็จ

  • คืนค่าจริงเมื่อ (n AND (n - 1)) เหมือนกับ 0 มิฉะนั้นเป็นเท็จ

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

def solve(n):
   if n == 0:
      return False
   return (n & (n - 1)) == 0

n = 2048
print(solve(n))

อินพุต

2048

ผลลัพธ์

True