题意:给出一个整数 \(n = 1000\),求出 \(n\) 以下所有是 \(3\) 或者 \(5\) 的倍数的数之和。
题解:考虑容斥原理,令 \(f(n)\) 是 \(1\) 到 \(n\) (包括 \(n\) )以内的所有数之和,即 \(f(n)=\frac{n(n+1)}{2}\),那么答案就是
\[3 \cdot f(\lfloor \frac{n-1}{3} \rfloor) + 5 \cdot f(\lfloor \frac{n-1}{5} \rfloor) - 15 \cdot f(\lfloor \frac{n-1}{15} \rfloor) \]
代码:Task #1