Cod sursa(job #2135528)

Utilizator andrei.gramescuAndrei Gramescu andrei.gramescu Data 18 februarie 2018 22:10:26
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
using namespace std;
#define NMAX 2000005
int n;
bool viz[NMAX];
int main(){

    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    scanf("%d", &n);
    int i, j, total = 0;

    //ciurul lui eratostene < 3
    for(i=2; i<=n; i++){
        if(!viz[i]){
            viz[i] = true;
            total++;
            for(j=i+i; j<=n; j+=i){
                viz[j] = true;
            }
        }
    }

    printf("%d", total);

    return 0;
}