Cod sursa(job #3310963)

Utilizator domdiridomdidomDominik domdiridomdidom Data 18 septembrie 2025 12:46:46
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <iostream>

const int SIZE = 100000;

void fgvSzita(int x, bool * szita){
    for(int i = 2; i < x; i++){
        if(szita[i] == 0){
            for(int j = 2; i * j < x; j++)
                szita[i * j] = 1;
        }
    }
}

int main(){
    // ha szita[i] == 0 -> i primSzam
    bool szita[SIZE] = {};
    szita[0] = szita[1] = 1;
    std::ifstream bem("ciur.in");
    int x, osszeg = 0;
    bem >> x;
    fgvSzita(x, szita);
    /*std::cout << "primek: ";
    for(int i = 0; i < x; i++)
        if(!szita[i])
            std::cout << i << ' ';
    */
    for(int i = 0; i < x; i++)
        if(!szita[i])
            osszeg++;
    std::ofstream kim("ciur.out");
    kim << osszeg;

    kim.close();
    bem.close();
}