Cod sursa(job #1596976)

Utilizator razvandRazvan Dumitru razvand Data 11 februarie 2016 16:03:09
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <cmath>
#define MAX 2000003

using namespace std;

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

bool v[MAX];
int n,k;
int main() {
    in >> n;
    int sq = sqrt(n);
    /*for(int i = 2; i <= n; i += 2) // useless
        v[i] = 1;*/
    for(int i = 3; i <= n; i += 2) {
        if(v[i] == 0) {
            k++;
            if(i > sq)
                continue;
            for(int mult = i*i; mult <= n; mult += i)
                v[mult] = 1;
        }
    }
    out << k+1;
    return 0;
}