Cod sursa(job #764168)
Utilizator | Data | 4 iulie 2012 12:29:58 | |
---|---|---|---|
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;
}