【发布时间】:2014-10-23 15:38:44
【问题描述】:
我正在尝试编写一个程序来查找给定 n 以下所有 3 的倍数的总和。 到目前为止,我想出了这个解决方案(使用算术级数公式):
def sumof3(n):
n = int((n-1)/3)
return int((n/2)*(6+3*(n-1)))
它工作得很好,但由于某种原因开始大量失败。例如,对于 n = 232471924 返回值为 9007199280122284,而应该是 9007199280122283。
谁能告诉我这里的错误在哪里?
【问题讨论】:
-
你用的是什么版本的 Python?
标签: python debugging sum-of-digits