我正在以
的形式发表一系列文章1+r+r^2+r^3+r^4+r^5
我必须找到一系列的模数,即我必须找到这个值
[(r^n-1)/(r-1)]%M
我可以轻松计算(r^n-1)%M
的值,但问题是如何计算分母项?
因为如果(r-1) and M
都不是co prime,则反向模数不能存在。
请帮助如何获得此值的任何近似值或算法?
由于求和非常大,我无法直接计算该值。
答案 0 :(得分:2)
据推测,您建议使用快速取幂重现来计算r^n
E(r, 0) = 1
E(r, n) = E(r*r, n/2) if n is even
r * E(r*r, (n-1)/2) if n is odd.
我们可以为1 + r + r^2 + ... + r^n
构建类似的直接重复。
F(r, 0) = 1
F(r, n) = (1 + r) * F(r*r, (n-1)/2) if n is odd
1 + (r + r*r) * F(r*r, (n-2)/2) if n is even.
当然,所有计算都应该由mod M
完成。