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

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

โจทย์: กำหนดเลข n ตรวจสอบว่าเป็นกำลังของ 2 หรือไม่

แนวทาง

  • หาร n ด้วย 2 ซ้ำๆ (n = n/2)
  • ถ้าในระหว่างทาง n % 2 != 0 และ n ไม่ใช่ 1 แสดงว่าไม่ใช่กำลังของ 2
  • ถ้า n กลายเป็น 1 แสดงว่าเป็นกำลังของ 2

โค้ดตัวอย่าง

def isPowerOfTwo(n):
    if n == 0:
        return False
    while n != 1:
        if n % 2 != 0:
            return False
        n = n // 2
    return True

if isPowerOfTwo(40):
    print('Yes')
else:
    print('No')

ผลลัพธ์

No

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

สรุป

เรียนรู้วิธีตรวจสอบว่าเลขเป็นกำลังของ 2 ด้วยการหารซ้ำ