Python程式:查詢n的二進位制形式中連續1的最長長度


假設我們有一個非負值n,我們需要找到其二進位制表示中連續1的最長長度。

例如,如果輸入n = 1469,則輸出為4,因為156的二進位制表示為“10110111101”,所以有四個連續的1。

為了解決這個問題,我們將遵循以下步驟:

  • count := 0
  • 當n不等於0時,執行以下操作:
    • n := n AND (n左移一位)
    • count := count + 1
  • 返回count

示例

讓我們來看下面的實現,以便更好地理解:

def solve(n):
   count = 0
   while n != 0:
      n = n & (n << 1)
      count = count + 1

   return count

n = 1469
print(solve(n))

輸入

1469

輸出

4

更新於:2021年10月19日

618 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.