Cod sursa(job #1453403)

Utilizator RoxiPoxiRoxana Manole RoxiPoxi Data 23 iunie 2015 14:20:57
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

void Multiples(bool arr[], int a, int n){
	int i = 2;
	while (i*a <= n)
	{
		arr[i*a] = 1;
		i++;
	}
}


int Eratosthenes(int n){
		int nr_primes = 0;
		bool *arr = new bool[n];
		for (int i = 0; i < n; i++)
			arr[i] = 0;


		for (int i = 2; i<n; ++i)
		{
			if (arr[i] == 0)
			{
				nr_primes++;
				Multiples(arr, i, n);
			}
		}

	return nr_primes;
}


int main()
{
	int n;

	ifstream f("ciur.in");
	ofstream g("ciur.out");

	f >> n;

	int nr = Eratosthenes(n);
	g << nr;

	return 0;
}