极致OJ 1715: 【函数】完全数

题目总版

我可以给一个大概思路,但是代码你还得去自己写。 先定义一个从 $2$ 开始,到 $n$ 结束的 for 循环。 在 for 循环内,以 $6$ 为例,从 $1$ 开始找它的因子,边找边用一个 $\text{sum}$ 求和变量累加这些因子。 但是依据你所说的,所谓的“因子之和”不包括 $6$ 本身,所以你可以只枚举到 $n-1$,也可以在全部枚举完之后将 $\text{sum}-=n$。 具体代码你可以去尝试,不懂的问我。
by RockyChen @ 2024-03-09 16:30:45


@[chyl](/user/1300314)
by RockyChen @ 2024-03-09 16:31:20


@[chyl](/user/1300314) 顺便一提,范围内总共四个完全数,6,28,496,8128.
by Killer_joke @ 2024-03-09 16:36:04


@[RockyChen](/user/810200) 你这样复杂度是 $O(n^2)$ 的,找因子可以优化成 $\sqrt n$,这样是 $O(n \sqrt n)$ 的
by cj180202 @ 2024-03-09 16:37:55


@[cj180202](/user/709361) 有道理
by RockyChen @ 2024-03-09 17:23:23


直接打表。完全数就那么几个。
by XKqwq @ 2024-03-10 13:53:36


|