Cod sursa(job #1180425)

Utilizator alex_mustaineDumitru Alex alex_mustaine Data 30 aprilie 2014 17:15:18
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
using namespace std;
#define MAX 200000001
bool v[MAX];
int n, nr;
int main()
{
    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    int i, j ;
    fin>>n;
    nr = 1; //2 este prim by default
    for(i=3; i*i<=n; i=i+2)
        if(v[i]==false){ //i este numar prim
            for(j=i*i; j<=n; j=j+i+i)
                v[j] = true; //j nu este numar prim;
            nr++;
        }
    for(; i<=n; i=i+2)
        if(v[i]==false)
            nr++;
    fout<<nr<<'\n';
}