檢查在 Python 中設定 K 第位還是未設定


假設我們有一個數字 n 和另一個值 k。我們必須檢查 n 中的第 k 位是否已設定(1)。k 的值是從右側考慮的。

因此,如果輸入類似於 n = 23,k = 3,則輸出將為 true,因為 23 的二進位制形式為 10111,因此第三個最後一位為 1(已設定)。

為此,我們將遵循以下步驟 -

  • 將位向右移動 (k - 1) 次後,temp: = n
  • 如果 temp 和 1 為 1,則
    • 返回 true
  • 返回 false

讓我們看一下以下實現以獲得更好的理解 -

示例程式碼

即時演示

def solve(n,k):
   temp = n >> (k - 1)
   if temp & 1:
      return True
   return False

n = 23
k = 3
print(solve(n, k))

輸入

23, 3

輸出

True

更新於: 16-01-2021

2K+ 次瀏覽

開啟您的 職業生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.