Cod sursa(job #1245182)

Utilizator danny794Dan Danaila danny794 Data 18 octombrie 2014 18:51:50
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <cstdio>
#include <cmath>

#define NMAX 2000005

using namespace std;

int N;
char v[NMAX];

int main() {
  freopen("ciur.in", "r", stdin);
  freopen("ciur.out", "w", stdout);
  scanf("%d", &N);
  int max = sqrt(N) + 1;

  for(int i = 2; i < max; i++)
    if(!v[i])
      for(int j = i * i; j <= N; j+=i)
        v[j] = 1;

  int count = 0;
  for(int i = 2; i <= N; i++)
    if(!v[i])
      count++;
  printf("%d", count);
	return 0;
}