等比數列求和技巧(公式+倍增)

HarlemBlog發表於2024-11-08

公式

一般情況下用這個即可,當然模數是質數也可以直接套公式。\(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. \]

相關文章