Cod sursa(job #565689)

Utilizator shnakoVlad Schnakovszki shnako Data 28 martie 2011 10:12:14
Problema Ciurul lui Eratosthenes Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <math.h>
#include <cstdio>
using namespace std;
FILE *f=fopen("ciur.in", "r"), *g=fopen("ciur.out", "w");
bool v[2000005];
long i, n, j;

inline void ciur()
{
	v[1]=1;
	for (i=3;i<=sqrt(n);i+=2)
		for (j=2;j<=n/i;j++)
			v[i*j]=1;
}

inline void tipareste()
{
	long k=1;
	for (i=3;i<=n;i+=2)
		if(!v[i])
			k++;
	fprintf(g, "%ld", k);
}

int main()
{
	fscanf(f, "%ld", &n);
	ciur();
	tipareste();
	fclose(f);
	fclose(g);
	return 0;
}