diff --git a/TangDou/Topic/SpareTire.cpp b/TangDou/Topic/SpareTire.cpp index 86541ca..ad949b8 100644 --- a/TangDou/Topic/SpareTire.cpp +++ b/TangDou/Topic/SpareTire.cpp @@ -59,9 +59,10 @@ signed main() { s *= p[j]; } - // 这里没看懂 + // 比如找到了s=6=2*3,需要知道s是奇数个,还是偶数个因子 + // n/s:范围内6的倍数有多少个 int k = n / s; - int pt = (k) % mod * (k + 1) % mod * (2 * k + 1) % mod * Six % mod; + int pt = k * (k + 1) % mod * (2 * k + 1) % mod * Six % mod; pt = pt * s % mod * s % mod; pt = (pt + k * (s + s * k) % mod * Two % mod) % mod;