公式
一般情況下用這個即可,當然模數是質數也可以直接套公式。\(q\) 為公比。
\[S_n=\frac{a_1\times(1-q^n)}{1-q}=\frac{a_1-a_nq}{1-q}=\frac{a_nq-a_1}{q-1}
\]
倍增
如果模數不是質數,可以考慮倍增法解決,思路類似快速冪(遞迴版)。
\[\sum_{i=1}^{n}a_i= \left\{
\begin{aligned}
&\sum_{i=1}^{\lfloor{n\over 2}\rfloor}a_i\times(1+q^{\lfloor{n\over 2}\rfloor}),&n=2k\\
&\sum_{i=1}^{\lfloor{n\over 2}\rfloor}a_i\times(1+q^{\lfloor{n\over 2}\rfloor})+a_1\times p^{n-1},&n=2k+1
\end{aligned}
\right.
\]