Cod sursa(job #2536351)

Utilizator gunfusPastor Mario-Alexandru gunfus Data 1 februarie 2020 20:34:18
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#define NMAX 2000000
using namespace std;

bool v[NMAX];



int main()
{
    int i , j , k = 0 , n;

    ifstream fin("ciur.in");

    fin>>n;

    fin.close();

    v[0] = v[1] = 1;

    for(i = 4 ; i <= n ; i += 2) {

        v[i] = 1;
    }

    for(i = 3 ; i <= n ; i += 2){

        if(v[i] == 0) {

            for(j = i * i ; j <= n ; j += i) {

                v[j] = 1;
            }
        }
    }

    for(i = 1 ; i <= n ; i++) {

        if(v[i] == 0 ) {

            k++;
        }
    }

    ofstream fout("ciur.out");

    fout<<k;

    fout.close();

    return 0;
}