Cod sursa(job #1676657)

Utilizator stefanst77Luca Stefan Ioan stefanst77 Data 6 aprilie 2016 08:32:04
Problema Ciurul lui Eratosthenes Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>

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

bitset <2000002>a;
int prim[50000], n, k;

void Ciur()
{
    int i, j;
    for (i=4; i<=n; i+=2)
        a[i]=1;
    for (i=3; i*i<=n; i+=2)
        if (a[i]==0)
            for (j=i*i; j<=n; j+=2*i)
                a[j]=1;
    k=0;
    prim[++k]=2;
    for (i=3; i<=n; i+=2)
        if (a[i]==0) prim[++k]=i;
/*    for (i=1; i<=20; i++)
        fout << prim[i] <<" . ";
        */
}

int main()
{
    fin >> n;
    Ciur();
    fout << k <<"\n";

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