Cod sursa(job #236482)

Utilizator shnakoVlad Schnakovszki shnako Data 27 decembrie 2008 18:39:24
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream.h>
#include <math.h>
ifstream f("ciur.in");
ofstream g("ciur.out");
long v[20000], n, i, s=1, d, k;

int main()
	{
   f>>n;
   for (i=2;i<=n;i++)
   	v[i]=1;
   k=2;
   d=k;
   while (d<=n/k)
   	{
      v[k*d]=0;
      d++;
      }
   for (i=3;i<=sqrt(n);i=i+2)
   	if (v[i])
      	{
         s++;
         k=i;
      	d=k;
		   while (d<=n/k)
   			{
      		v[k*d]=0;
   		   d++;
     			}
         }
      for (d=i+1;d<=n;d++)
      	if (v[d]==1)
         	s++;
   g<<s;
   f.close();
   g.close();
   return 0;
   }