Cod sursa(job #3283785)

Utilizator 1gbr1Gabara 1gbr1 Data 10 martie 2025 14:58:13
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb

#include <fstream>
#include <bitset>
using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

const int N = 2e6;
bitset<N+1> ciur;

void create()
{
    ciur[0] = ciur[1] = 1;
    for (int i = 4; i <= N; i += 2)
        ciur[i] = 1;
    for (int i = 3; i * i <= N; i += 2)
        if (!ciur[i])
            for (int j = i * i; j <= N; j += 2 * i)
                ciur[j] = 1;

}
int main() 
{
    int n;
    fin >> n;
    create();
    int cnt = 1;
    for (int i = 3; i <= n; i += 2)
        cnt += !ciur[i];
    fout << cnt;
    return 0;
}