Cod sursa(job #828841)

Utilizator Stefanescu_MihaiStefanescu Mihai-Nicolae Stefanescu_Mihai Data 4 decembrie 2012 15:36:52
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include<fstream>
#include<math.h>
using namespace std;
unsigned char a[2000003];
int main()
{
	unsigned int k,m,y,i;
	double n,ac;
	ifstream f1("ciur.in");
	f1>>n;k=n;
	m=n-n/2;
	if (k%2) m++; 
	ac=sqrt(n);
	for (y=3;y<=ac;y=y+2)
		if (!a[y])
			for (i=3*y;i<=n;i+=2*y) if ((!a[i])||(!i%2)) {a[i]=1; m--;}
	ofstream f2("ciur.out");
	f2<<m;
	return 0;
}