Cod sursa(job #1364933)

Utilizator RazzinnatorRazvan Brinzea Razzinnator Data 27 februarie 2015 21:40:44
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <vector>

using namespace std;

FILE *f = fopen( "ciur.in", "r" );
FILE *g = fopen( "ciur.out", "w" );

int main()
{
    int n, marks = 1;
    fscanf( f, "%d", &n );
    vector<bool> v( n, true );
    int root = sqrt(n);

    for( int i = 2; i<= root; i++ )
    {
        if( v[i] == true )
        {
            for( int j = i*i; j <= n; j = j + i )
            {
                v[i] = false;
                marks++;
            }
        }
    }

    fprintf( g, "%d\n", n - marks );

    fclose( f );
    fclose( g );
    return 0;
}