已知
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)的时间即可求出.
证明思路:把两个向下取整号分别换成括号再分开讨论.