Cod sursa(job #2724428)

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

int main()
{
       int n,nr=0,i,j;
       char a[250001] = {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 >> 3] & (1 << (i & 0x7)) == 0)
           {
              nr++;    
              for(j = 2*i;j <= n;j += i)
                  a[j]=1;
           }                                    
       }
 
       fprintf(out,"%d",nr);
       fclose(in);
       fclose(out);
       return 0;
}