我觉得没人会和我一样犯这个 SB 错……
for (int i = 2; i <= n; i++) { if (!vis[i]) { primes.push_back(i); // !!!这里不要加 continue; } for (auto j : primes) { int k = i * j; if (k > n) break; vis[k] = 1; } }