Cod sursa(job #3317465)

Utilizator Warrior.exeZgorcea Mihai-Alexandru Warrior.exe Data 23 octombrie 2025 17:53:19
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include<math.h>
using namespace std;

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

const int NMAX = 2000000;

bool ciur[NMAX+1];
int secv[NMAX+1];

void get_ciur(){
    ciur[0]=ciur[1]=true;
    for(int i=4;i<=NMAX;i+=2){
        ciur[i] = true;
    }
    int sq =sqrt(NMAX);
    for(int i=3;i<=sq;i+=2){
        if(!ciur[i]){
            for(int j=i*i;j<=NMAX;j+=2*i){
                ciur[j] = true;
            }
        }
    }
}

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