请计算1000000000以内3或5的倍数之和。
如:10以内这样的数有3,5,6,9,和是23
请提交PCTF{你的答案}
对于这道题,我查阅了一下资料,网上的方法是for循环到10E,但是这样十分的慢。
其实是有简单的解法的,可以使用数列的知识。
我们先算出3 6 9 12 …… 999999999 的和,只需算出Sn的通项公式就可以了
同理我们算出5的倍数求和的通项公式Bn,和15倍数求和的通项公式Cn
那么答案便是 Sn+Bn-Cn,减去Cn是因为既是三的倍数又是五的倍数的和加了两次,所以我们需要减去一次
我们使用python去解决这道题目
1 | a = (3*333333333+3)*333333333/2 |
最后答案:PCTF{233333333166666668}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客!
评论