B3978 [信息与未来 2024] 幸运数字
题目描述
如果一个正整数的二进制表示中,每个比特($0$ 或 $1$)的左边或右边都至少有一个相同的比特,Dr. X 就认为它是一个“幸运数字”。例如:
- $(1)_2=(1)_{10}$ 有落单的 $1$,它不是幸运数字。
- $(110111)_2=(55)_{10}$ 有落单的 $0$,它不是幸运数字。
- $(111110011)_2=(499)_{10}$ 是幸运数字。
- $(110011001100)_2=(3276)_{10}$ 是幸运数字。
对于给定的 $a$ 和 $b$,Dr. X 希望你求出 $a, a + 1, a + 2, \dots, b$ 中幸运数字的数量。
输入格式
输入空格分隔的整数 $a$ 和 $b$。
输出格式
输出一行一个整数,代表 $a$ 和 $b$ 之间幸运数字的数量。
说明/提示
对于 $100\%$ 的数据,满足 $1 \leq a \leq b \leq 10^6$。
>本题原始满分为 $15\text{pts}$。