Cod sursa(job #1809842)

Utilizator DEIK_CUNBM_TEAMNorthrendland DEIK_CUNBM_TEAM Data 19 noiembrie 2016 12:42:47
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <bits/stdc++.h>
using namespace std;
const char* IN = "ciur.in";
const char* OUT = "ciur.out";
const int Nmax = 2000001;

namespace Math {
    bool used[Nmax];
    int cnt = 0 ;
    int generateSieve(int limit){
        for (int i=2 ; i<=limit ; ++i)
            if (!used[i]){
                ++cnt;
                for(int j=2;i*j<=limit;++j)
                    used[i*j] = 1;
            }
        return cnt;
    }
};

namespace InputStream {
    FILE *in = fopen(IN,"r");
    int nextInt(){
        int aux;
        fscanf(in,"%d\n",&aux);
        return aux;
    }
}

namespace PrintStream {
    FILE *out = fopen(OUT,"w");
    void printInt(int nbr){
        fprintf(out,"%d\n",nbr);
    }
}

int main(void){
    PrintStream::printInt(Math::generateSieve(InputStream::nextInt()));
    return 0 ;
}