Cod sursa(job #2631272)

Utilizator PetraPetra Hedesiu Petra Data 29 iunie 2020 17:14:13
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <bitset>

using namespace std;

bitset<2000001> prim;
int main()
{
    ifstream fin ("ciur.in");
    ofstream fout ("ciur.out");
    int n;
    fin >> n;

    for (int i=2; i<=n; i++)
    {
        if (prim[i]==0)
        {
            for (int j=i+i; j<=n; j+=i)
            {
                prim[j]=1;
            }
        }
    }

    int k=0;
    for (int i=2; i<n; i++)
    {
        if (prim[i]==0)
            k++;
    }
    fout << k;
    return 0;
}