SP26073 DIVCNT1 - Counting Divisors
题目描述
定义 $\sigma _0(n)$ 表示 $n$ 的正因子个数。
例如 $\sigma_0(1)=1,\sigma_0(2)=2,\sigma_0(4)=3$。
定义
$$\displaystyle S_1(n)=\sum_{i=1}^n\sigma_0(i)$$
给定 $N$,求 $S_1(N)$。
输入格式
第一行包含一个整数 $T$ 为测试点组数。
接下来 $T$ 行,每行包含一个整数 $N$。
输出格式
对于每个 $N$,输出一行,包含对应的 $S_1(N)$。
说明/提示
### 输入样例解释
- $S_1(3) = \sigma_0(1) + \sigma_0(2) + \sigma_0(3) = 1 + 2 + 2 = 5$。
### 测试点信息
共有 $6$ 个输入文件。
- **输入 #1**:
$1 \le N \le 100000$,时间限制 $2$ 秒。
- **输入 #2**:
$1 \le T \le 120$,$1 \le N \le 10^{15}$,时间限制 $15$ 秒。
- **输入 #3**:
$1 \le T \le 60$,$1 \le N \le 10^{16}$,时间限制 $15$ 秒。
- **输入 #4**:
$1 \le T \le 25$,$1 \le N \le 10^{17}$,时间限制 $15$ 秒。
- **输入 #5**:
$1 \le T \le 10$,$1 \le N \le 10^{18}$,时间限制 $15$ 秒。
- **输入 #6**:
$1 \le T \le 5$,$1 \le N < 2^{63}$,时间限制 $15$ 秒。
> 我(指 [Min_25](https://www.spoj.com/users/min_25))的 C++ 解法对输入 #2 到 #6 每个大约运行 $1.3$ 秒。
### 注意
- **$O(\sqrt{n})$ 的解法很可能无法通过**。
- 预期解法的运行时间约为 $O(n^{1/3} \log n)$。
- **答案可能 $\ge 2^{64}$**。