Cod sursa(job #1455332)

Utilizator petru.cehanCehan Petru petru.cehan Data 27 iunie 2015 16:29:34
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n ;
unsigned char a[2000001] ;

void Citire()
{
    fin >> n;
}
int nr = 1 ; // 2 e par

void CiurEratostene (int n)
{
    int i , j , i2 ;
    for ( i = 3 ; i <= n ; i += 2 )
            a[i] = 1;

    for( i = 3 ; i <= n ; i += 2 )
        if ( a[i] == 1 )
            {
                   ++ nr ;
                   for ( j = ( i2 = i + i ) + i ; j <= n ; j += i2 )
                               a[j] = 0;
            }
     fout << nr ;

}
int main()
{
    Citire();
    CiurEratostene(n);
    return 0;
}