Cod sursa(job #2359912)

Utilizator cyg_contnr1Rares Burghelea cyg_contnr1 Data 1 martie 2019 10:34:56
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <stdio.h>
#include <cmath>

using namespace std;

bool s[1000005];

void ciur()
{
        int i, j, lim;
        lim  = ( int ) sqrt( double ( 1000001 ) );
        s[0] = 1;
        s[1] = 1;
        for( i = 2; i < lim; ++ i )
        {
            if( s[i] == 0 )
            {
                for( j = i + i; j < lim; j += i)
                    s[j] = 1;
            }
        }
}

int main()
{
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    ciur();
    int n, cnt = 0;
    scanf( "%d", &n );
    for( int i = 1; i <= n; ++ i )
        if( s[i] == 0 )
            cnt++;
    printf( "%d", cnt );
    return 0;
}