Cod sursa(job #1596945)

Utilizator razvandRazvan Dumitru razvand Data 11 februarie 2016 15:32:52
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <bitset>
#include <stdio.h>
#define MAX 2000003

using namespace std;

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

bitset<MAX> v;

long n,k;

int main() {

    in >> n;

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

        if(v[i] == 0) {

            k++;
            long long mult = i*i;

            while(mult < n) {

                v[mult] = 1;
                mult += i;

            }

        }

    }

    out << k;

    return 0;

}