Cod sursa(job #632901)

Utilizator mr.johnFMI - Laceanu Ionut-Adrian mr.john Data 12 noiembrie 2011 15:08:08
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>
using namespace std;
FILE *f=fopen("ciur.in","r");
FILE *g=fopen("ciur.out","w");
int n,nr;
char prim[250000];

int main()
{
  int j,m;
  fscanf(f,"%d",&n);
  for (m=2;m<=n;++m)
  {
    if((prim[m>>3] & (1<<(m&7)))==0)
    {
      ++nr;
      for (j=(m+m);j<=(n<<2);j+=m)
        prim[j>>3]|=(1<<(j&7));
    }
  }
  fprintf(g,"%d",nr); 
  return 0;
}