Cod sursa(job #2033042)

Utilizator alexpanaAlexandru Pana alexpana Data 6 octombrie 2017 06:37:55
Problema Ciurul lui Eratosthenes Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

#define __CIUR__

#ifdef __CIUR__

// 0 - prime
// 1 - non prime
unsigned char CIUR[2000000];

int ciur(int n) {
    int index = 2;
    int result = 0;
    while (index < n) {
        if (CIUR[index] == 0) {
            result += 1;
        }

        for (int i = 0; i < n; i += index) {
            CIUR[i] = 1;
        }

        index += 1;
    }

    return result;
}

int main() {
    std::ifstream fin("ciur.in");
    std::ofstream fout("ciur.out");

    int n;
    fin >> n;

    fout << ciur(n);

    return 0;
}

#endif