CF611B New Year and Old Property
题目描述
2015 年即将结束。
Limak 是一只小北极熊。他最近学会了二进制系统。他注意到,当前年份在二进制表示中恰好有一个零,即 $2015_{10} = 11111011111_{2}$。注意,他并不关心十进制表示中零的数量。
Limak 选择了一个年份区间,他准备统计该区间中所有二进制表示中恰好有一个零的年份。你能帮他更快地完成统计吗?
假设所有正整数的二进制表示均不包含前导零。
输入格式
输入仅一行,包含两个整数 $a$ 和 $b$($1 \leq a \leq b \leq 10^{18}$),分别表示 Limak 选择的年份区间的起始年份和结束年份。
输出格式
输出一个整数,表示在所选区间内,二进制表示中恰好有一个零的年份数量。
说明/提示
在第一个样例中,Limak 选定的区间为 $5_{10}=101_{2}$、$6_{10}=110_{2}$、$7_{10}=111_{2}$、$8_{10}=1000_{2}$、$9_{10}=1001_{2}$ 和 $10_{10}=1010_{2}$。其中有 $101_{2}$ 和 $110_{2}$ 两个数符合题意。
由 ChatGPT 5 翻译