Cod sursa(job #1698670)

Utilizator perjulucianPerju Lucian Ionut perjulucian Data 4 mai 2016 23:49:15
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <iostream>
#include <cstring>

std::ifstream f("ciur.in");
std::ofstream g("ciur.out");

int N;

bool array[2000001];



int main(){
    int N;
    f >> N;
    int pos;
    std::memset(array,true,sizeof(bool) * (N + 1));   
    int prime = 0; 

    for(int i = 2 ; i <= N ; ++i){
        if(array[i]){
            ++prime;
            pos = 2*i;
            while(pos <= N){
                array[pos] = false;
                pos += i;
            }
        }
    }
    g << prime;
    
    return 0;  
}