【欧拉计划】23. Non-abundant sums

(本题取 $n=28123$)

【思路】$\mathcal O(n \sqrt n)$ 预处理因数个数(用 Problem 21 的思路可优化至 $\mathcal O(n)$),然后 $\mathcal O(n^2)$ 模拟。最终的时间复杂度都为 $\mathcal O(n^2)$:

阅读更多

【欧拉计划】22. Names scores

【思路】从文件读入所有名字,然后模拟。难点在于读入的方法。当然也可以另编写一个程序,将所有名字每几个就换一次行,然后把表存在最终程序里(详见 Problem 42):

阅读更多

【欧拉计划】21. Amicable numbers

(本题取 $n=10000$)

【思路】先 $\mathcal O(n)$ 预处理 $1 \sim 10000$ 因数个数,然后 $\mathcal O(n)$ 枚举,总体时间复杂度仍为 $\mathcal O(n)$:

阅读更多

【欧拉计划】17. Number letter counts

(本题取 $n=1000$)

【思路】本题细节较多,可先预处理一些数的字母个数,这样后面的数就可以由前面递推而来。时间复杂度为 $\mathcal O(n)$。

阅读更多