Cod sursa(job #725999)

Utilizator SpiriFlaviuBerbecariu Flaviu SpiriFlaviu Data 26 martie 2012 23:00:15
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <bitset>

using namespace std;
bitset <2000002> bit;

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

int main()
{
    int n,s=0;
    fin>>n;
    bit.set();
    bit[1]=0;
    for(int i=2;i*2<=n;i++)
        bit[2*i]=0;
    for(int i=3;i*i<=n;i++)
        if(bit[i]==1)
            for(int j=2;j*i<=n;j++)
            {
                int k=i*j;
                bit[k]=0;
            }
    for(int i=1;i<=n;i++)
        if(bit[i]==1)
            s++;
    fout<<s;
    fin.close();
    fout.close();
    return 0;
}