Cod sursa(job #508680)

Utilizator eudummyEduard eudummy Data 9 decembrie 2010 13:28:05
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
#include<stdio.h>

using namespace std;
char a[2000002];

long ciur (long k)
{
	long long s=1,i=0,j=0;
	a[2]=1;
	for (i=3;i<=k;i+=2)
	{
		a[i]=1;
		a[i+1]=0;
	}
	for (i=3;i<=k;i=i+2)
	{
		while ((!a[i])&&(i<=k))i++;
		if (i<=k)
			s++;
		for (j=i*i;j<=k;j+=i)
			a[j]=0;
		//i++;
	}
	return s;
}

int main()
{
	long x,n;
	ifstream f ("ciur.in");
	freopen("ciur.out","w",stdout);
	f>>n;
	x=ciur(n);
	printf("%d\n",x);
}