diff --git a/TangDou/Topic/SpareTire.cpp b/TangDou/Topic/SpareTire.cpp index 1d3e39e..86541ca 100644 --- a/TangDou/Topic/SpareTire.cpp +++ b/TangDou/Topic/SpareTire.cpp @@ -59,17 +59,18 @@ signed main() { s *= p[j]; } - int nn = n / s; - int pt = (nn) % mod * (nn + 1) % mod * (2 * nn + 1) % mod * Six % mod; + // 这里没看懂 + int k = n / s; + int pt = (k) % mod * (k + 1) % mod * (2 * k + 1) % mod * Six % mod; pt = pt * s % mod * s % mod; - pt = (pt + nn * (s + s * nn) % mod * Two % mod) % mod; - + pt = (pt + k * (s + s * k) % mod * Two % mod) % mod; + if (cnt & 1) res = (res - pt + mod) % mod; else res = (res + pt) % mod; } - // 补集,标准取模动作 + // 输出 cout << res << endl; } }