Cod sursa(job #2724425)

Utilizator om6gaLungu Adrian om6ga Data 17 martie 2021 00:40:32
Problema Ciurul lui Eratosthenes Scor 30
Compilator c-32 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
       int n,nr=0,i,j;
       char a[150000] = {0};
       FILE *in=fopen("ciur.in","r");
       FILE *out=fopen("ciur.out","w");    
       fscanf(in,"%d",&n);

       for (i=2;i<=n;i++)
       {
           //if ((a[i/8] & (1 << (i - (i/8)*8))) == 0)
           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;
}