如何近似从1到n的除数之和?

How to approximate the sum of number of divisors from 1 to n?

问题

我想解决这个问题:

设除数的个数=d(n)(比如d(6)=4,因为数字6有4个除数,{1,2,3,6}),我想计算d(1 )+d(2)+d(3)+...+d(n).

但是我无法计算像 10^20 或 10^30 这样的大 n(我认为如果 n 大到 10^30 则在几秒钟内计算的算法不存在),所以我决定找到这样的算法计算大约

我目前的解决方案

我发现答案就在n log n附近(log的底数是e=2.71828...)

但在 n = 10^17 的情况下,误差约为 0.4%。

有点准,不过我觉得还有更准确的算法。

有没有更准确的算法?

Encyclopedia of Mathematics 贷记估计

n log n + (2γ - 1)n + O(√n)

狄利克雷 (1849)。 γ 是 Euler–Mascheroni constant。您可以只删除 O(√n) 误差项。

这是一个Divisor summatory function. Also, https://oeis.org/A006218