AT_abc400_c [ABC400C] 2^a b^2

题目描述

[problemUrl]: https://atcoder.jp/contests/abc400/tasks/abc400_c 当且仅当满足以下条件时,正整数 $X$ 被称为好整数: - 存在正整数对 $(a, b)$,使得 $X = 2^a \times b^2$。 例如,$400$ 可以表示为 $400 = 2^2 \times 10^2$,因此它是一个好整数。 给定正整数 $N$,请计算 $1$ 以上 $N$ 以下(含)的好整数的个数。

输入格式

输入通过标准输入给出,格式如下: > $N$

输出格式

输出 $1$ 以上 $N$ 以下(含)的好整数的个数。

说明/提示

### 约束条件 - $1 \leq N \leq 10^{18}$ - $N$ 为整数 ### 样例解释 1 $1$ 以上 $20$ 以下的好整数有 $2, 4, 8, 16, 18$ 共 $5$ 个,因此输出 $5$。 ### 样例解释 3 请注意输入可能超出 $32$ 位整数类型的表示范围。 翻译由 DeepSeek R1 完成