欧拉计划[1]是一系列有挑战性的数学与计算机编程题;要解开它们,需要的不止是数学知识:尽管数学能够帮助你找到一些优雅而有效的方法,大多数题目仍需要借助计算机和编程技巧来完成解答。
欧拉计划的初衷,以及不断维持其运行的动力,在于为好奇的头脑提供一个平台,使他们能够在有趣愉悦的氛围中,探索未知领域,学习新的知识。
欧拉计划预期的受众,包括在基础课程外学有余力的学生、非数学背景但对数学感兴趣的成年人以及希望磨炼解题能力或是数学能力的专业人士。
如果我们列出 10 以内所有 3 或 5 的倍数,我们将得到 3、5、6 和 9,这些数的和是 23。
求 1000 以内所有 3 或 5 的倍数的和。
直接遍历 0 到 1000(不含),判断是否同时是 3 和 5 的倍数,使用生成器返回元组,再对元组求和即可
def solution():
ans = sum(x for x in range(1000) if (x % 3 == 0 or x % 5 == 0))
return str(ans)
if __name__ == "__main__":
print(solution())
# 233168
欧拉计划: http://pe-cn.github.io/
联系客服