Cod sursa(job #998297)

Utilizator AnonymouslegionAnonymous Anonymouslegion Data 16 septembrie 2013 18:28:40
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>

using namespace std;

bool prime[2000005];

int main(){
  freopen("ciur.in", "r", stdin);
  freopen("ciur.out", "w", stdout);

  int n;
  scanf("%d", &n);
  prime[1] = true;

  int nrp = 0, lim = sqrt(n);
  for(int i = 2; i <= n; ++i)
    if(!prime[i]){
      ++nrp;
      if(i <= lim){
        for(int j = i * i; j <= n; j += i)
          prime[j] = true;
      }
    }

  printf("%d", nrp);

  return 0;
}