整除分块简易证明

已知 n n
n l n / n / l n除以l \sim \lfloor{n/\lfloor{n/l}\rfloor}\rfloor 的每个数向下取整的答案相同.

下面给出证明.
n / ( n / l ) \lfloor{n/(n/l)}\rfloor = l l
n / l n / n / n / l \lfloor{n/l}\rfloor\ge \lfloor{n/\lfloor{n/\lfloor{n/l}\rfloor}\rfloor}\rfloor

n / n / l n/\lfloor{n/l}\rfloor

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 / l = n / n / n / l \lfloor{n/l}\rfloor = \lfloor{n/\lfloor{n/\lfloor{n/l}\rfloor}\rfloor}\rfloor

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 只需要 O ( n ) O(\sqrt n) 的时间即可求出.

证明思路:把两个向下取整号分别换成括号再分开讨论.

猜你喜欢

转载自blog.csdn.net/qq_42886072/article/details/101449105