用 Python 编写程序,查找二进制形式 n 中最长的连续 1 序列

pythonserver side programmingprogramming更新于 2026/1/23 9:48:17

假设我们有一个非负值 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

相关文章


有用资源