整数的二进制中是否有两个连续的1?解释如下:
解释:3转成二进制是11
,6转成二进制是110
,3和6的二进制数中都至少有两个连续的1。而像5和9的二进制分别是:101、1001
,因此,5和9的二进制中没有两个连续的1。
源代码如下,有两种方法(方法二效率更高):
# -*- coding: utf-8 -*-
# !usr/bin/env python
""" 判断整数的二进制是否有连续两个1 """
# 法一
def f1(n):
isone1 = False
isone2 = False
while