Cod sursa(job #649379)

Utilizator FIIAilincaiPascBogdan Valentin FIIAilincaiPasc Data 15 decembrie 2011 22:01:16
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>
int n,i,j,p,nr;char a[20000001];
int main()
{FILE *fin,*fout;
fin=fopen("ciur.in","r");
fout=fopen("ciur.out","w");
fscanf(fin,"%d",&n);
for(i=2;i<=n;i++)a[i]=1;
p=2;
while(p*p<=n)
        {
        j=p*p;
        while(j<=n)
              {
              a[j]=0;
              j+=p;
              }
        do {p+=1;} while(!a[p]);
       }
for(i=2;i<=n;i++) if(a[i]) nr++;
fprintf(fout,"%d",nr);
fclose(fin);fclose(fout);
return 0;
}