【发布时间】:2013-09-23 09:41:34
【问题描述】:
如何计算(1+a%m+a^2%m……+a^n%m) 的总和,其中
m=k!, 1<=k<=12, n<=10^18。如何计算这个总和。
使用电脑,时间限制为 3 秒。
对不起我的错误
【问题讨论】:
-
这道题似乎跑题了,因为它是一道数学题。
-
在 for(i=1; i
-
提示
(a+b)%m = (a%m +b%m)%m这样你可以减少summands。比想想,如果你真的需要计算每个加法。 -
我假设
a^n mod m对于m = k!, 1 <= k <= 12变得相对较快。你测试过这个吗? -
@EvgenyKluev - 不确定。以原始形式询问整个事情
mod m,是的。在这种形式下(请注意,整个金额没有mod m),它并没有真正的帮助。我认为需要有一个模式,或者最后缺少mod m。我认为m是一个阶乘这一事实也应该在解决方案中使用。
标签: algorithm