就是埃筛 σ(n)\sigma(n)σ(n) 的那道题。
我在考场上填的是 O(nloglogn)O(n\log \log n)O(nloglogn),但我算的是筛到 nnn 的情况,实际上原程序只筛到了 n\sqrt nn。
于是有学长说复杂度是 O(nloglogn+n−n)=O(n)O(\sqrt n\log \log n+n-\sqrt n)=O(n)O(nloglogn+n−n)=O(n),我认为他说的有道理。
但是洛谷和小图灵都说是 O(nloglogn)O(n\log \log n)O(nloglogn),希望得到解释。