Problem6799--二进制表示中质数

6799: 二进制表示中质数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数。
计算置位位数 就是二进制表示中 1 的个数。
例如, $21$ 的二进制表示 $10101_{2}$ 有 $3$ 个计算置位。

Input

一行两个整数,left 和 right。

Output

一行一个整数,表示答案。

Constraints

$1 \leq \text{left} \leq \text{right} \leq 10^6$
$0 \leq \text{right} - \text{left} \leq 10^4$

Sample 1 Input

6 10

Sample 1 Output

4
6 -> 110 (2 个计算置位,2 是质数)
7 -> 111 (3 个计算置位,3 是质数) 
9 -> 1001 (2 个计算置位,2 是质数) 
10-> 1010 (2 个计算置位,2 是质数) 
共计 4 个计算置位为质数的数字。

Sample 2 Input

10 15

Sample 2 Output

5
10 -> 1010 (2 个计算置位, 2 是质数)
11 -> 1011 (3 个计算置位, 3 是质数)
12 -> 1100 (2 个计算置位, 2 是质数)
13 -> 1101 (3 个计算置位, 3 是质数)
14 -> 1110 (3 个计算置位, 3 是质数)
15 -> 1111 (4 个计算置位, 4 不是质数)
共计 5 个计算置位为质数的数字。

Source/Category