Cod sursa(job #541282)

Utilizator padreatiAurelian Tutuianu padreati Data 24 februarie 2011 22:47:35
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>
#include <stdlib.h>

int main(void) {

    FILE *in = fopen("ciur.in", "r");
    FILE *out = fopen("ciur.out", "w");
    const int MAX = 2000000;
    int n, i, j, count = 0;
    char p[MAX];

    fscanf(in, "%d", &n);
    for (i = 0; i < n; i++) {
        p[i] = 0;
    }

    for (i = 2; i < n; i++) {
        if (!p[i]) {
            count++;
            for (j = 2 * i; j < n; j += i) p[j] = 1;
        }
    }

    fprintf(out, "%d\n", count);

    return (EXIT_SUCCESS);
}