已知 n n n 则 n 除 以 l ∼ ⌊ n / ⌊ n / l ⌋ ⌋ n除以l \sim \lfloor{n/\lfloor{n/l}\rfloor}\rfloor n除以l∼⌊n/⌊n/l⌋⌋的每个数向下取整的答案相同.
下面给出证明. ⌊ n / ( n / l ) ⌋ \lfloor{n/(n/l)}\rfloor ⌊n/(n/l)⌋= l l l ⌊ n / l ⌋ ≥ ⌊ n / ⌊ n / ⌊ n / l ⌋ ⌋ ⌋ \lfloor{n/l}\rfloor\ge \lfloor{n/\lfloor{n/\lfloor{n/l}\rfloor}\rfloor}\rfloor ⌊n/l⌋≥⌊n/⌊n/⌊n/l⌋⌋⌋
n / ⌊ n / l ⌋ n/\lfloor{n/l}\rfloor n/⌊n/l⌋
⌊ n / ( n / ⌊ n / l ⌋ ) ⌋ = ⌊ n / l ⌋ ≤ ⌊ n / ⌊ n / ⌊ n / l ⌋ ⌋ ⌋ \lfloor{n/(n/\lfloor{n/l}\rfloor)}\rfloor=\lfloor{n/l}\rfloor\le \lfloor{n/\lfloor{n/\lfloor{n/l}\rfloor}\rfloor}\rfloor ⌊n/(n/⌊n/l⌋)⌋=⌊n/l⌋≤⌊n/⌊n/⌊n/l⌋⌋⌋
综上: ⌊ n / l ⌋ = ⌊ n / ⌊ n / ⌊ n / l ⌋ ⌋ ⌋ \lfloor{n/l}\rfloor = \lfloor{n/\lfloor{n/\lfloor{n/l}\rfloor}\rfloor}\rfloor ⌊n/l⌋=⌊n/⌊n/⌊n/l⌋⌋⌋
⌊ n / 1 ⌋ + ⌊ n / 2 ⌋ + ⌊ n / 3 ⌋ + ⌊ n / 4 ⌋ + . . . + ⌊ n / n ⌋ \lfloor{n/1}\rfloor+\lfloor{n/2}\rfloor+\lfloor{n/3}\rfloor+\lfloor{n/4}\rfloor+...+\lfloor{n/n}\rfloor ⌊n/1⌋+⌊n/2⌋+⌊n/3⌋+⌊n/4⌋+...+⌊n/n⌋只需要 O ( n ) O(\sqrt n) O(n )的时间即可求出.
证明思路:把两个向下取整号分别换成括号再分开讨论.