Cod sursa(job #1567163)

Utilizator Dupree7FMI Ciobanu Andrei Dupree7 Data 12 ianuarie 2016 22:43:45
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.87 kb
#include <stdio.h>
#include <stdlib.h>

#define n 1299722
int v[1299722];

int main()
{
    int k, i = 0, j, c = 1;
    FILE *f, *g;

    f = fopen("prim.in", "r");
    g = fopen("prim.out", "w");

    if (f == NULL)
        {
        printf("Fisierul nu s-a putut deschide");
        exit(0);
        }

    fscanf(f, "%d", &k);

     for (i = 1; ((i * i) << 1) + (i << 1) <= n; i += 1)
        {
        if (v[i] == 0)
            {
            for (j = ((i * i) << 1) + (i << 1); (j << 1) + 1 <= n; j += (i << 1) + 1)
                {
                v[j] = 1;
                }
            }
        }
    for (i = 1; 2 * i + 1 <= n; ++i)
        {
        if (v[i] == 0) c++;
        if(c == (k + 1))
            {
            fprintf(g, "%d", i * i);
            break;
            }
        }
    fclose(f);
    fclose(g);

    return 0;
}