如何计算(1+a%m+a^2%m……+a^n%m)
where的总和
m=k!, 1<=k<=12, n<=10^18
。如何计算这个总和。使用电脑,时间限制为 3 秒。对不起我的错误
问问题
182 次
2 回答
5
1+a+a^2+...+a^n = (1+a+a^2+...+a^n)*(1-a)/(1-a) =
= (1 - a^(n+1))/(1-a)
换句话说,您的表达式可以计算为:
(1 - a^(n+1))/(1-a) % m
或者,以程序化形式,
fmod((1-pow(a,n+1))/(1-a), m)
于 2013-09-23T09:48:34.047 回答
0
sum = 0;
i = 0;
while(i <= n){
sum = sum + math.pow(a,i);
i++;
}
result = sum % m;
于 2013-09-23T09:47:36.473 回答