Cod sursa(job #2469193)

Utilizator MichaelXcXCiuciulete Mihai MichaelXcX Data 6 octombrie 2019 16:32:14
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>  //for ifstream, ofstream
#include <cmath>    //for sqrt(x)
#include <bitset>   //for bitset<>

#define ARR_MAX 100005

using namespace std;

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

bitset<ARR_MAX> check; //boolean array made of only 0 and 1
int k;                 //the initial number
int sol;               //the number of primes

int main()
{
    fin >> k;

    for(int i = 2; i <= k; i++)
        check[i] = 1;

    for(int i = 2; i <= k; i++)
        if(check[i]){
            ++sol;

            for(int j = 2*i; j <= k; j += i)
                check[j] = 0;
        }



    fout << sol;
}