Cod sursa(job #706042)

Utilizator fhandreiAndrei Hareza fhandrei Data 5 martie 2012 14:53:51
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
//Include
#include <stdio.h>
#include <list>
using namespace std;

//Variabile
FILE *in, *out;

int n, solutii;

list<int> l;
list<int>::iterator it, end;

//Main
int main()
{
	in=fopen("ciur.in","rt");
	out=fopen("ciur.out","wt");
	fscanf(in, "%d",&n);
	
	for(int i=2;i<=n;++i)
		l.push_back(i);
	
	end=l.end();
	while(!l.empty())
	{
		++solutii;
		int element=l.front();
		for(it=l.begin();it!=end;)
		{
			if(!(*it%element))
				it=l.erase(it);
			else
				++it;
		}
	}
	
	fprintf(out, "%d",solutii);
	
	fclose(in);
	fclose(out);
	return 0;
}