Cod sursa(job #1016517)

Utilizator andrei8055Andrei andrei8055 Data 26 octombrie 2013 13:35:58
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
//#include<vector>
#include<algorithm>
#include<cmath>

using namespace std;
fstream f("ciur.in");
ofstream g("ciur.out");
int n;


int getPrimes()
{
 n++;
  //std::vector<bool> vec(n);
  //std::fill( vec.begin(), vec.end(), true );
  char vec[2000005];
  for(int i=2;i<=n;i++)
  {
    vec[i] = 1;
  }
   for(int i=2;i<sqrt(n);i++)
   {
    if(vec[i]==1)
     {
      for(long j=i*i;j<=n;j+=i)
      {
       vec[j]= 0;
      }
     }
    }

 int result =0;
 for(int i=2;i<n;i++)
 {
  if(vec[i]==1)
    result++;
 }
return result;
}

int main()
{
f>>n;
g<<getPrimes();

return 0;
}