Cod sursa(job #2022811)

Utilizator rares44balasescu rares rares44 Data 17 septembrie 2017 13:27:57
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream in ("ciur.in");
ofstream out ("ciur.out");
int prime [ 2000006 ] ;

void sieve()
{
        prime[1] = 1 ;
    prime[2] = 0 ;
    prime[3] = 0 ;
    for ( int i = 2 ; i <=  2000006 ; i ++ )
    {
        if ( prime[i] == 0 )
        {
            for ( int j = i + i ; j <= 2000006 ; j +=i  )
            {
                prime[j] = 1 ;
            }
        }
    }
}
int main()
{
    sieve () ;
    int n ;
    in >> n ;
    int cnt = 0 ;
    for ( int i = 2 ; i <= n ;i ++ )
     {
         if ( prime[i] == 0 )
         {
             cnt ++ ;
         }
     }
     out << cnt ;
    return 0;
}