Cod sursa(job #2033043)

Utilizator alexpanaAlexandru Pana alexpana Data 6 octombrie 2017 06:39:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 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