用 Python 檢查數字是否是 2 的冪的程式


假設我們有一個數字 n。我們必須檢查 n 是否為 2 的冪。

所以,如果輸入類似 n = 2048,那麼輸出將為 True,因為 2048 是 2^11。

為了解決這個問題,我們將按照以下步驟進行操作:

  • 如果 n 與 0 相同,則

    • 返回 False

  • 當 (n AND (n - 1)) 與 0 相同(否則為 false)時返回 true

示例

讓我們看下面的實現以更好地理解

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

n = 2048
print(solve(n))

輸入

2048

輸出

True

更新日期:2021 年 10 月 11 日

622 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.