测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题