Cod sursa(job #1263051)

Utilizator MarianMMorosac George Marian MarianM Data 13 noiembrie 2014 21:03:32
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
#include <deque>
#include <set>
#include <map>
#include <list>
#include <string>
#include <iterator>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <cstring>
using namespace std;

#define DMAX 2000002
#define MOD  1000003
#define min(a,b) a>b ? b : a
#define max(a,b) a<b ? b : a

int N, P;

int main(){
	int i, j;

	freopen("ciur.in", "r", stdin); // 
	freopen("ciur.out", "w", stdout); //

	scanf("%d", &N); 
	vector<bool> NR(N + 1);

	for (i = 2; i <= N; i++){
		if (!NR[i]){
			P++;
			for (j = 2 * i; j <= N; j += i) NR[j] = 1;
		}
	}

	printf("%d", P);
	
	return 0;
}