4388: C. gcd (gcd.c/cpp/pas)
内存限制:512 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
Luke 是一名充满好奇心的数学探险家。他最近迷上了一种神秘的数字游戏,游戏规则很简单:在一片数字大陆上,Luke 需要找到特定的数字对。每次,他都要选择两个数字 $a$ 和 $b$,并且要求它们满足一些奇特的关系。
在这片数字大陆上,有一个强大的神秘力量,它就是“最大公约数”(gcd),以及一个神秘的运算符“异或”(xor)。Luke 的任务是找到一对 $a$ 和 $b$ 满足 $\operatorname{gcd}(a, b) = a \operatorname{xor} b$。
然而,这并不是那么简单!Luke 发现这对数字必须位于 $[1, n]$ 之间,且他只能找出无序的数字对,也就是说 $(a, b)$ 和 $(b, a)$ 是相同的。
现在,Luke 需要你的帮助,来找出在给定的数字范围内有多少对符合要求的数字对。快来帮助 Luke 一起解开这个谜题吧!
输入
### Input
输入共一行,一个整数 $n$。
输出
### Output
输出一行一个整数,即答案
样例输入 复制
3
样例输出 复制
1
提示
### Examples
#### 【样例 1 输入】
```input
3
```
#### 【样例 1 输出】
```output
1
```
#### 【样例 1 解释】
$\gcd(2,3)=2 \oplus 3=1$
#### 【样例 2 输入】
```input
588
```
#### 【样例 2 输出】
```output
887
```
#### 【样例 3 输入】
```input
1234567
```
#### 【样例 3 输出】
```output
2153842
```
### Notes
对于$30\%$的数据,$n \le 10^3$
对于$60\%$的数据,$n \le 10^5$
对于$100\%$的数据,$n \le 10^7$