Cod sursa(job #445481)

Utilizator om6gaLungu Adrian om6ga Data 23 aprilie 2010 22:03:54
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
       int n,nr=0,i,j;
       FILE *in=fopen("ciur.in","r");
       FILE *out=fopen("ciur.out","w");    
       fscanf(in,"%d",&n);
       char *a=(char *)calloc(n,sizeof(char));
       for (i=2;i<=n;i++)
       {
           if (a[i]==0)
           {
              nr++;    
              for(j=2*i;j<=n;j+=i)
                  a[j]=1;
           }                                    
       }

       fprintf(out,"%d",nr);
       fclose(in);
       fclose(out);
       return 0;
}