Cod sursa(job #764170)

Utilizator vitaleamaldur vitalik vitalea Data 4 iulie 2012 12:31:31
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <vector>


int ciur( int n )
{
    std::vector<int> l ( n + 1, 0 );

    int r = 0;
    for( int i = 2; i <= n; i++ )
    {
        if( l[i] == 0 )
        {
            r++;
            for( int j = i + i ; j <= n; j += i )
            {
                l[j] = 1;
            }
        }
    }

    return r;
}

int main()
{
    std::ifstream in ( "ciur.in" );
    std::ofstream out ( "ciur.out" );
    int n;
    in >> n;
    out << ciur( n );
    in.close();
    out.close();
    return 0;
}