Cod sursa(job #1662424)

Utilizator anav23Ana Vasiliu anav23 Data 24 martie 2016 19:15:02
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;

bitset<2000002> prime;

int ciur(int n) {
    prime.set();
    for(int i=2;i*i<=n;i++) {
        if(prime[i]) {
            int k=2;
            while(i*k<=n) {
                prime[i*k]=false;
                k++;
            }
        }
    }
    int n_prime=0;
    for(int i=2;i<=n;i++)
        if(prime[i])
            n_prime++;
    return n_prime;
}

int main()
{
    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    int n;
    fin>>n;
    fout<<ciur(n);
    return 0;
}