Cod sursa(job #257878)

Utilizator ciorile.chioareBogatu Adrian ciorile.chioare Data 14 februarie 2009 11:06:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<stdio.h>
#define N 2000008

char c[N];
int n;

void atr()
{
	for(int i=0;i<=n;++i)
		c[i]='0';
}

void ciur()
{
	int i,j;
	for(i=2;i*i<=n;++i)
		if(c[i]=='0')
			for(j=i*i;j<=n;j+=i)
				c[j]='1';
}

int main()
{
	int count=0;
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	
	scanf("%d",&n);
	
	atr();
	ciur();
	
	for(int i=2;i<=n;++i)
		if(c[i]=='0')
			count++;
	
	
	
	printf("%d",count);
	return 0;
}