Cod sursa(job #1238003)

Utilizator ConstantinPetroviciPetrovici Constantin ConstantinPetrovici Data 5 octombrie 2014 13:57:42
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <cstdio>
#include <math.h>

using namespace std;

int prim[2000007];

int main()
{
    freopen ("ciur.in" , "r" , stdin );
    freopen ("ciur.out" , "w" , stdout );
    int n , nr = 0 ;
    scanf ("%d " , &n ) ;
    for ( int i = 2 ; i <= sqrt(n) ; ++i )
        if ( prim [ i ] == 0 )
        for ( int j = i*i ; j <= n ; j = j+i )
            prim [ j ] = 1 ;
    for ( int i = 2 ; i <= n ; ++i )
        if ( prim [ i ] ==  0 ) nr++ ;
    printf ("%d\n" , nr ) ;
    return 0;
}