Cod sursa(job #1159081)

Utilizator AlexandraMafteiAlexandra Maftei AlexandraMaftei Data 29 martie 2014 12:23:46
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.52 kb
# include <stdio.h>

char v[2000001];
int main(){
    FILE *fin,*fout;
    fin=fopen("ciur.in","r");
    fout=fopen("ciur.out","w");

    int n,nr=0,i,j;
    fscanf(fin,"%d",&n);
    for(i=4;i<=n;i=i+2)
      v[i]=1;
    for(i=3;i*i<=n;i=i+2)
      if(v[i]==0)       // nu am trecut prin multiplii lui i
        for(j=i*i;j<=n;j=j+i)
          v[j]=1;       // elimin multiplii lui j
    for(i=2;i<=n;i++)
     if(v[i]==0)
       //fprintf(fout,"%d ",i);
       nr++;

    fprintf(fout,"%d",nr);
    return 0;
}