1. 程式人生 > >類歐幾裏得算法

類歐幾裏得算法

變換 inline mat 得到 clas 算法 floor -i 過程

\(f\)函數

\[ f(n,a,b,c)=\sum_{i=0}^{n}\lfloor\frac{ai+b}{c}\rfloor \]

其中\(a\)\(b\)\(c\)均為整數。

如果\(a\ge c\)\(b\ge c\)則可以先分離一部分。否則將後面展開然後交換和號再化簡得到\(f(n,a,b,c)=nm-f(m-1,c,c-b-1,a)\),其中\(m=\frac{am+b}{c}\)

\(f_{p,q}\)函數

\[ f_{p,q}(n,a,b,c)=\sum_{i=0}^{n}i^p\lfloor\frac{ai+b}{c}\rfloor^q \]

如果\(a\ge c\)\(b\ge c\)

則可以先分離一部分,用二項式定理,轉化為求\(p\)\(q\)更小的函數值。否則過程差不多。要用精彩變換(fjzzq2002?)\(x^k=\sum_{i=0}^{x-1}(i+1)^k-i^k\)

類歐幾裏得算法