Cod sursa(job #1000928)

Utilizator alexx.cosmaCosma Cristian Alexandru alexx.cosma Data 23 septembrie 2013 23:19:58
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;

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

const int maxN = 2000005;

int ns[maxN];

int main()
{
    int n;
    fin >> n;
    int nr=0;
    int lim = sqrt(n);
    for(int i=2; i<=n; i++)
        if(ns[i]==0)
        {
            nr++;
            if(i<=lim)
            for (int j = i+i; j<=n; j+=i)
                ns[j]=1;
        }
    fout << nr;

    return 0;
}