全部评论 1

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

    int main() {
    int n;
    cin >> n;
    if (n < 2) {
    cout << 0 << endl;
    return 0;
    }

    vector<bool> is_prime(n + 1, true);
    is_prime[1] = false;
    
    for (int i = 2; i * i <= n; ++i) {
        if (is_prime[i]) {
            for (int j = i * i; j <= n; j += i) {
                is_prime[j] = false;
            }
        }
    }
    
    int cnt = 0;
    for (int i = 2; i <= n; ++i) {
        if (is_prime[i]) cnt++;
    }
    cout << cnt << endl;
    

    }

    6小时前 来自 浙江

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页