Cod sursa(job #591894)

Utilizator blexxSeulean Erik-Cristian blexx Data 25 mai 2011 20:25:41
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main()
{
   int n,i,j,k=0;
   char *a;
   FILE *g,*f;
   f=fopen("ciur.in","r");
   g=fopen("ciur.out","w");
   fscanf(f,"%d",&n);
   a=(char*)malloc(n*sizeof(char));
   for(i=2;i<=n;i++)a[i]=0; // initializez vect cu 0
   for(i=2;i<=sqrt(n);i++)
        if(a[i]==0)
        for(j=2;i*j<=n;j++)
        a[i*j]=1;
    for(i=2;i<=n;i++)
    if(a[i]==0)
    k++;
    fprintf(g,"%d",k);
    free(a);
    fclose(f);
    fclose(g);
    return 0;
}