[USACO06NOV] Round Numbers S
题目描述
如果一个正整数的二进制表示中,$0$ 的数目不小于 $1$ 的数目,那么它就被称为「圆数」。
例如,$9$ 的二进制表示为 $1001$,其中有 $2$ 个 $0$ 与 $2$ 个 $1$。因此,$9$ 是一个「圆数」。
请你计算,区间 $[l,r]$ 中有多少个「圆数」。
输入输出格式
输入格式
一行,两个整数 $l,r$。
输出格式
一行,一个整数,表示区间 $[l,r]$ 中「圆数」的个数。
输入输出样例
输入样例 #1
2 12
输出样例 #1
6
说明
**【数据范围】**
对于 $100\%$ 的数据,$1\le l,r\le 2\times 10^9$。
------------
**【样例说明】**
区间 $[2,12]$ 中共有 $6$ 个「圆数」,分别为 $2,4,8,9,10,12$。