题目描述:
小明在学习二进制时,发现了一类不含101的数,也就是:- 将数字用二进制表示,不能出现101。
现在给定一个正整数区间,请问这个区间内包含了多少个不含101的数?
输入描述:
输入的唯一一行包含两个正整数。
输出描述:
输出的唯一一行包含一个整数,表示在区间内一共有几个不含101的数。
补充说明:
收起
示例1
输入:
1 10
输出:
8
说明:
区间[1,10]内,5的二进制表示为101,10的二进制表示为1010,因此除了5与10不满足条件外,其他数字都满足条件,因此答案为8。
示例2
输入:
10 20
输出:
7
说明:
区间[10,20]内,满足条件的数字有[12,14,15,16,17,18,19],因此答案为7。
import sys
if __name__ == "__main__":
def judge(n):
if '101' in bin(n):return True
else:return False
tmp=sys.stdin.readline().strip().split()
l,r=int(tmp[0]),int(tmp[1])
# l,r=1,10
result=0
i=l
while