Проблема
Я хочу решить эту проблему:
Пусть количество делителей = d(n) (например, d(6)=4, потому что число 6 имеет 4 делителя, {1, 2, 3, 6}), я хочу вычислить d(1)+d(2 )+d(3)+...+d(n).
Но я не могу рассчитать для больших n, таких как 10 ^ 20 или 10 ^ 30 (я думаю, что алгоритм, вычисляющий за несколько секунд, если n равно 10^30, не существует), поэтому я решил найти алгоритм, который вычисляет приблизительно.
Мое текущее решение
Я обнаружил, что ответ близок к n log n (основание log e=2,71828...)
Но в случае n = 10^17 ошибка составляет около 0,4%.
Это немного точно, но я думаю, что есть более точный алгоритм.
Есть ли более точный алгоритм?