Cod sursa(job #1438994)

Utilizator MarianMMorosac George Marian MarianM Data 21 mai 2015 11:15:51
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <list>
#include <set>
#include <iterator>
#include <queue>
#include <utility>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;

#define DMAX 2000001
#define ll long long
#define ull unsigned long long

int n;
bool ciur[DMAX];

int main(){
	int i, j;

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

	cin >> n;

	int limit = sqrt(DMAX);
	for (i = 2; i <= limit; i++){
		if (!ciur[i]){
			for (j = i*i; j < DMAX; j+=i){
				ciur[j] = true;
			}
		}
	}

	for (i = 2, j = 0; i < n; i++){
		if (!ciur[i])
			j++;
	}
	
	cout << j;

	return 0;
}