编辑代码

#include <iostream>
#include <vector>
using namespace std;

bool isPrime[1002];

int main() {

    int n, i, j;
    cin >> n;

    vector<int> prime;
    for (i = 0; i <= n; i++) isPrime[i] = true;
    isPrime[0] = isPrime[1] = false;

    for (i = 2; i <= n; i++) {
        if (isPrime[i]) {
            prime.push_back(i);
        }
        for (j = 0; j < prime.size() && i*prime[j] <= n; j++) {
            isPrime[i*prime[j]] = false;
            if (i % prime[j] == 0) break;
        }
    }

    for (i = 0; i < prime.size(); i++) cout << prime[i] << ' ';
    cout << endl;
    cout << prime.size();

    return 0;
}