A26755. 幂和数
填空题
较易
知识点
题目描述
幂和数
题目描述
对于正整数n,如果n可以表为两个2的次幂之和,即n=2x+2y(x,y均为非负整数),那么称n为幂和数。
给定正整数l,r,请你求出满足l≤n≤r的整数n中有多少个幂和数。
输入格式
一行,两个正整数 l,r,含义如上。
输出格式
输出一行,一个整数,表示 l,r之间幂和数的数量。
样例
输入样例 1
2 8输出样例 1
6输入样例 2
10 100输出样例 2
20数据范围
对于所有测试点,保证1≤l≤r≤104。
参考答案
1,r= map(int,input().split())# 输入两个数作为左右边界数
total=0
for i in range(l,r + 1):
X=0
#2 ** x得小于i
while 2 ** x<= i:
y=0
Flag= False #如果找到符合条件的x和y则变为True
#2 ** x+2 ** y得小于i
while 2 ** x+2 ** y<= i:
if 2 ** x+2 ** y == i:
total += 1
Flag =True #找到符合条件的x和y,终止循环
break
y += 1
if Flag == True:# 找到了符合条件的x和y,终止循环
break
X += 1
print(total)
上一题
下一题