幸运数字 题目

题解在主页
题目描述
如果⼀个正整数的⼆进制表⽰中, 每个⽐特 (0 或 1) 的左边或右边都有⼀个相同的⽐特, Dr. X就认为它是⼀个 “幸运数字”。 例如:
(1) = (1) 有落单的 “1”, 它不是幸运数字。
(110111) = (55) 有落单的 “0”, 它不是幸运数字。
(111110011) = (499) 是幸运数字。
(110011001100) = (3276) 是幸运数字。
对于给定的 a 和 b, Dr. X 希望你求出 a, a + 1, a + 2, …, b 中幸运数字的数量。

输入
输⼊空格分隔的整数 a 和 b。

输出
输出⼀⾏⼀个整数, 代表 a 和 b 之间幸运数字的数量。

样例输入
样例1
1 100
样例2
4096 65535

样例输出
样例1
14
样例2
1364

提示
对于 100% 的数据, 满⾜ 1 ≤ a ≤ b ≤ 1, 000, 000。

posted @ 2025-04-26 08:35  嵇若凌  阅读(23)  评论(0)    收藏  举报