有趣的数字和
C++ GESP真题 五级 2025.9 #2
EXY-PG-0210
时间限制:1s 内存限制:512MB

题目描述

如果一个正整数的二进制表示包含奇数个 $1$,那么小 A 就会认为这个正整数是有趣的

例如,$7$ 的二进制表示为 $(111)_2$,包含 $1$ 的个数为 $3$ 个,所以 $7$ 是有趣的。但是 $9=(1001)_2$ 包含 $2$ 个 $1$,所以 $9$ 不是有趣的。

给定正整数 $l,r$,请你统计满足 $l\le n\le r$ 的有趣的整数 $n$ 之和。

输入格式

一行,两个正整数 $l,r$,表示给定的正整数。

输出格式

一行,一个正整数,表示 $l,r$ 之间有趣的整数之和。

样例说明

样例 1
输入:
3 8
输出:
19
样例 2
输入:
65 36248
输出:
328505490

数据范围

对于 $40\%$ 的测试点,保证 $1\le l\le r\le 10^4$。
对于另外 $30\%$ 的测试点,保证 $l=1$ 并且 $r=2^k-1$,其中 $k$ 是大于 $1$ 的正整数。
对于所有测试点,保证 $1 \le l\le r\le 10^9$。

提示
由于本题的数据范围较大,整数类型请使用 long long