Cod sursa(job #2718601)

Utilizator Stefan_XTRadu Stefan Rares Stefan_XT Data 8 martie 2021 21:11:08
Problema Ciurul lui Eratosthenes Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
using namespace std;

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

const int nmax = 2000000;

int a[nmax + 10];

void Ciur(int n)
{
    for (int i = 4; i <= n; i += 2)
        a[i] = 1;

    for (int i = 3; i*i <= n; i += 2)
      if (a[i] == 0)
        for (int j = i*i; j <= n; j += 2*i)
          a[j] = 1;
}

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

    Ciur(n);
    int nr = 0;
    for (int i = 2; i <= n; i++)
        if (a[i] == 0) nr++;

    fout << nr;

    fin.close();
    fout.close();
    return 0;
}