Cod sursa(job #1266884)

Utilizator cella.florescuCella Florescu cella.florescu Data 19 noiembrie 2014 11:05:36
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
#include <stdlib.h>
char ciur[2000001];
int main()
{
    FILE *fin, *fout;
    int n, i, d;
    fin=fopen("ciur.in", "r");
    fscanf(fin, "%d", &n);
    fclose(fin);
    for(i=2; i*i<=n; i++)
      if(!ciur[i])
        for(d=i*i; d<=n; d+=i)
          ciur[d]=1;
    d=0;
    for(i=2; i<=n; i++)
      d+=1-ciur[i];
    fout=fopen("ciur.out", "w");
    fprintf(fout, "%d\n", d);
    fclose(fout);
    return 0;
}