在Python中查找n的二进制形式中最长连续运行的1的程序

在Python中查找n的二进制形式中最长连续运行的1的程序

假设我们有一个非负值n,我们要找到其二进制表示中最长连续运行1的长度。

因此,如果输入为n = 1469,则输出为4,因为二进制表示为“10110111101”,因此有四个连续的1。

为了解决这个问题,我们将按照以下步骤进行 –

  • 计数:= 0
  • 当n不等于0时,执行以下操作
    • n:= n AND(左移一位后的n)
    • 计数:=计数+1
  • 返回计数

示例

让我们看看以下实现,以更好地理解 –

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

  return count

n = 1469
print(solve(n))

输入

1469

输出

4

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程