Cod sursa(job #1357029)

Utilizator aparfeniAndrei Parfeni aparfeni Data 23 februarie 2015 18:32:34
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<cstdio>
#include<cmath>
int main()
{ freopen("ciur.in","r",stdin);
  freopen("ciur.out","w",stdout);
  int n,i,p=2,nr=0;
  scanf("%d",&n);
  bool ciur[n+1];
  for(i=1;i<=n;i++)
  { ciur[i]=0;
  }
  while(p<=sqrt((double)n))
  {
      for(i=2*p;i<=n;i=i+p)
      { ciur[i]=1;
      }
      i=p+1;
      while(ciur[i]==1)
      { i++;
      }
      p=i;
  }
  for(i=2;i<=n;i++)
  { if(ciur[i]==0)
    { nr++;
    }
  }
  printf("%d\n",nr);
  return 0;
}