3 条题解

  • 0
    @ 2025-4-21 18:37:00

    #include<bits/stdc++.h> using namespace std; const int N = 50000010; bool isp[N]; vector prime; void eulerPrime(int n) { memset(isp, true, sizeof(isp)); isp[0] = isp[1] = false; for (int i = 2; i <= n; i++) { if (isp[i]) prime.push_back(i); for (int p : prime) { if (i * p > n) break; isp[i * p] = false; if (i % p == 0) break; } } }

    int main(){ int n; cin>>n;

    eulerPrime(n);
    cout<<prime.size();
    return 0;
    

    }

    信息

    ID
    1836
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    209
    已通过
    39
    上传者