Cod sursa(job #2758110)

Utilizator mihnea_buzoiuMihnea Buzoiu mihnea_buzoiu Data 8 iunie 2021 17:36:18
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
//
//  ciurul_lui_eratostene.cpp
//  probleme
//
//  Created by Mihnea Buzoiu on 6/4/21.
//

#include <stdio.h>
#include <iostream>

using namespace std;

const int IMAX = 2000001;

bool v[IMAX];

int main(int argc, const char * argv[]) {
    
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    
    int n;
    scanf("%d", &n);
    
    for (int i=0; i<=IMAX; i++)
        v[i] = true;
    
    int prim = 0;
    for (int i=2; i<=n; i++){
        if (v[i]){
            int x = i;
            while(x <= n)
                v[x+i] = false;
            
            prim++;
        }
    }
    
    printf("%d", prim);
}