提交时间:2025-10-18 13:45:50
运行 ID: 38618
#include <bits/stdc++.h> using namespace std; int n; bool np[10000007]; vector <int> p; long long ans = 0; signed main () { ios::sync_with_stdio(); cin.tie(0); cout.tie(0); cin >> n; for (int i = 2;i <= n;i++) { if (!np[i]) { p.push_back(i); } for (auto at : p) { if (at * i > n) { break; } np[i * at] = 1; if (at % i == 0) { break; } } } for (int i = 0;i < p.size();i++) { int l,r; if (i == 0) { l = 1; } else { l = ((p[i] + p[i - 1]) >> 1) + 1; } if (i == p.size() - 1) { r = n; } else { r = ((p[i] + p[i + 1]) >> 1); } for (int j = l;j <= r;j++) { ans += abs(p[i] - j); } } for (int i = 1;i < p.size();i++) { ans += p[i] - ((p[i] + p[i - 1]) >> 1); } cout << ans << endl; return 0; }