【欧拉计划第 1 题】3 或 5 的倍数 Multiples of 3 or 5
Problem 1 Multiples of 3 or 5
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
问题 1 3 或 5 的倍数
如果我们列出所有小于 10 且是 3 或 5 的倍数的自然数,我们会得到 3、5、6 和 9。这些倍数之和是 23。
求 1000 以下所有 3 或 5 的倍数之和。
思路分析
暴力求解
常规思路,找到 1000 以内所有 3 或 5 的倍数,分别求和解决
优化思路
由于暴力解法的算法执行效率很低,需要重复遍历 1000 次,自然效率低下。我们只需要枚举 3 的倍数之和、5 的倍数之和,最后减去它们的最小公倍数之和,便可节省不少时间
1000 以内 k 的倍数和为
$$
\large \frac{\left (1000-1 \right)}{k}
$$
代码实现
暴力求解
1 | /* |
优化思路
1 | /* |
答案:233168
通过啦,既然是第一次,还是截个图记录下叭。以后也要继续加油啊,数学的优雅永不过时!!