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

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

ในบทความนี้ เราจะเรียนรู้วิธีแก้ปัญหาตามข้อกำหนดด้านล่าง

ข้อกำหนดปัญหา − เราได้รับตัวเลข ต้องตรวจสอบว่าตัวเลขนั้นเป็นกำลังของ 2 หรือไม่

เราสามารถแก้ได้ด้วย 2 วิธีตามที่อภิปรายด้านล่าง

วิธีที่ 1: หาลอการิทึมของตัวเลขที่กำหนดฐาน 2 เพื่อได้กำลัง

ตัวอย่าง

# power of 2
def find(n):
    if (n == 0):
        return False
    while (n != 1):
        if (n % 2 != 0):
            return False
        n = n // 2
    return True

# Driver code
if find(98):
    print('Yes')
else:
    print('No')

ผลลัพธ์

No

วิธีที่ 2: ใช้ประโยคตรรกะ (Bitwise operation)

ตัวอย่าง

# power of 2
def find(x):
    # ถ้า x เป็น 0 หรือไม่
    return (x and (not(x & (x - 1))))

# Driver code
if find(98):
    print('Yes')
else:
    print('No')

ผลลัพธ์

No

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีตรวจสอบว่าตัวเลขที่กำหนดเป็นกำลังของ 2 วิธีที่ 2 ใช้ bitwise operation เร็วกว่าและมีประสิทธิภาพมากกว่า