Cod sursa(job #1226073)

Utilizator Li4ickLi4ick Li4ick Data 4 septembrie 2014 15:41:36
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>

void Ciur(int n, FILE* output) {

    int i, k;
    int count = 1;
    char a[n];
    for (i = 3; i <= n; i += 2)
        a[i] = 0;

    for (i = 3; i <= n; i += 2)
        if ( a[i] == 0 )
        {
            fprintf(output, "%d\n", i);
            count++;
            if (i <= sqrt(n))
                {
                    for (k = i * i; k <= n; k += i)
                        a[k] = 1;
                }
        }
    fprintf(output, "%d ", count);
}

int main() {

    FILE *input, *output;
    input = fopen("ciur.in", "r");
    output = fopen("ciur.out", "w");

    int n;

    fscanf(input, "%d ", &n);

    Ciur(n, output);


    return 0;

}