Cod sursa(job #2878409)

Utilizator bg16-2009bg16 bg16 bg16-2009 Data 26 martie 2022 18:50:15
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <cassert>

using namespace std;

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

bool ciur[2000001];

void init_ciur(int n){
    ciur[1]=1;
    for(int i=2;i<=n;i++){
        if(!ciur[i]){
            int m=2;
            while(m*i<=n){
                ciur[m*i]=1;
                m++;
            }
        }
    }
}
void test_ciur(){
    init_ciur(10);
    assert(!ciur[1]==0);
    assert(!ciur[2]==1);
    assert(!ciur[3]==1);
    assert(!ciur[4]==0);
    assert(!ciur[9]==0);
}

int main(){
    int n, rez=0;
    fin>>n;
    init_ciur(n);
    for(int i=1;i<=n;i++){
        if(!ciur[i]){
            rez++;
        }
    }
    fout<<rez;
    return 0;
}