在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