Cod sursa(job #2968110)

Utilizator SSKMFSS KMF SSKMF Data 20 ianuarie 2023 18:25:55
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <bitset>
using namespace std;

ifstream cin ("ciur.in");
ofstream cout ("ciur.out");

bitset <1000000> verificare_primalitate;

void Ciurul_lui_Eratostene (int dimensiune , int &prime)
{
    for (int indice_1 = 3 ; indice_1 <= dimensiune ; indice_1 += 2)
        if (!verificare_primalitate[(indice_1 - 1) / 2])
        {
            prime++;
            for (int indice_2 = 3 * indice_1 ; indice_2 <= dimensiune ; indice_2 += 2 * indice_1)
                verificare_primalitate[(indice_2 - 1) / 2] = 1;
        }
}

int main ()
{
    int numar;
    cin >> numar;

    int prime = 1;
    Ciurul_lui_Eratostene (numar , prime);

    cout << prime;
    return 0;
}