Cod sursa(job #1458167)

Utilizator aimrdlAndrei mrdl aimrdl Data 7 iulie 2015 02:26:27
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>

using namespace std;

int primes (int n) {
	bool *S = new bool[n + 1]();
	
	int primes = 0;
	for (int i = 2; i <= n; ++i) {
		if (!S[i]) {
			++primes;
			
			int incr = i;
			for (int j = i + incr; j <= n; j += incr) {
				S[j] = 1;
			}
		}
	}
	
	delete[] S;
	return primes;
} 
 
int main (void) {
	freopen("ciur.in", "r", stdin);
	freopen("ciur.out", "w", stdout);
	
	int n;
	cin >> n;
	
	cout << primes(n);
		
	return 0;
}