Cod sursa(job #2378977)

Utilizator sansRotaru Razvan Andrei sans Data 12 martie 2019 19:40:25
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>
using namespace std;
#define NMAX 2000000
bitset <NMAX+5>p;
int ciur(int n){
    for(int i = 2; i*i<=n; i++){
        if(!p[i]){
            for(int j = 2; j<=n/i; j++) p[i*j] = 1;
        }
    }
    int nr = 1;
    for(int i = 3; i<=n; i+=2) if(!p[i]) nr++;
    return nr;
}
int main(){
    int n;
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    scanf("%d", &n);
    printf("%d", ciur(n));

}