S41902.19-2 累加余波

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

19-2 累加余波

累加余波

光点清点完了,但Zero的第一层加密只是被"看见",还没有被"解开"。

"第二层。"Echo说,"余波。"

"余波?"

"每个质数被找到后,会留下一个余数。"Echo说,"这些余数像波纹,一圈一圈扩散。我们要把它们累加起来。"

"累加?"

"对。"你说,"设f(i)f(i)ii的所有约数之和。我们要算f(1)+f(2)++f(n)f(1)+f(2)+\dots+f(n)。"

"约数之和?"

"对。"你说,"比如6的约数是1,2,3,6,和为12。每个数的约数和,再全部加起来。"

"这有啥用?"

"因为约数和的余波……"Echo停顿了一下,"能揭示Echo-0留下的隐藏信息。"

"隐藏在哪?"

"在余数的规律里。"你说,"如果我们能快速累加所有约数和,就能发现哪个余数出现的次数最多——那就是密钥。"

你开始写。不用枚举每个数的约数——反过来,枚举每个约数dd,它对d,2d,3d,d,2d,3d,\dots都有贡献。

"dd的贡献是d×n/dd\times\lfloor n/d\rfloor。"你说,"总复杂度O(n)O(n)。"

"第47个余波。"你说,"值是……47。"

"又是47。"

"对。"你说,"47。"

CC看着那些数字在屏幕上跳动,像某种她看不懂的舞蹈。

"跳得好看。"她说。

"你看得懂?"

"看不懂。"她说,"但好看。"

Echo把余波图投射在空中——像一幅画,像一首无声的歌。

"以前我觉得数学是冷的。"她说,"现在觉得……是烫的。"

"烫?"

"对。"她说,"像心跳。"


题目描述

给定nn,求i=1nσ(i)\sum_{i=1}^n \sigma(i),其中σ(i)\sigma(i)表示ii的约数之和。

输入格式

一个整数nn

输出格式

约数之和的总和。


输入样例

5

输出样例

0

提示

  • 枚举约数ddddn/d\lfloor n/d\rfloor个数有贡献。
  • 总贡献d×n/dd\times\lfloor n/d\rfloor
  • 时间复杂度O(n)O(n)

在线编程 IDE

建议全屏模式获得最佳体验