SP20173 DIVCNT2 - Counting Divisors (square)
题目描述
定义 $\sigma _0(n)$ 表示 $n$ 的正因子个数。
例如 $\sigma_0(1)=1,\sigma_0(2)=2,\sigma_0(4)=3$。
定义
$$ S_2(n)=\sum_{i=1}^n\sigma_0(i^2)$$
给定 $N$,求 $S_2(N)$。
输入格式
第一行包含一个整数 $T$ 为测试点组数。
接下来 $T$ 行,每行包含一个整数 $N$。
输出格式
对于每个 $N$,输出一行,包含对应的 $S_2(N)$。
说明/提示
### 输入样例解释
- $S_2(3) = \sigma_0(1^2) + \sigma_0(2^2) + \sigma_0(3^2) = 1 + 3 + 3 = 7$。
### 测试点信息
共有 $6$ 个输入文件。
- **输入 #1**:
$1 \le N \le 10000$,时间限制 $1$ 秒。
- **输入 #2**:
$1 \le T \le 800$,$1 \le N \le 10^8$,时间限制 $20$ 秒。
- **输入 #3**:
$1 \le T \le 200$,$1 \le N \le 10^9$,时间限制 $20$ 秒。
- **输入 #4**:
$1 \le T \le 40$,$1 \le N \le 10^{10}$,时间限制 $20$ 秒。
- **输入 #5**:
$1 \le T \le 10$,$1 \le N \le 10^{11}$,时间限制 $20$ 秒。
- **输入 #6**:
$T = 1$,$1 \le N \le 10^{12}$,时间限制 $20$ 秒。
> 我(指 [Min_25](https://www.spoj.com/users/min_25))的 C++ 解法总运行时间为 $5.3$ 秒。
**源代码大小限制为 $6$ KB。**