【发布时间】:2017-04-09 12:12:35
【问题描述】:
在Java中,我需要计算前n个数字的平方和,即
1^2 + 2^2+ 3^2+.....+n^2
这是
n(n+1)(2n+1)/6
或
n^3/3 + n^2/2 + n/6
那我需要计算另一个值
n*(n-1/2)^2
因为 n 会很大,所以答案可以是“answer%M”,其中 M 是 10^9+7。
我无法理解应该在哪个计算点进行操作 %M。例如
n%M * (n+1)%M (2n+1)%M / 6
或
(n(n+1)(2n+1)/6)%M
你能帮帮我吗?总的来说,请提供使用 %M 的指南;以便我下次再决定。
【问题讨论】:
-
这一定是以前问过的。可能很难搜索
10 ^ 9 + 7。你可以试试1000000007。
标签: java algorithm modulo largenumber