Cod sursa(job #259988)

Utilizator catalina5catalina serban catalina5 Data 16 februarie 2009 12:00:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
#define N 2000008

char c[N];
int n;

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);
	for (int i=0;i<n;i++)
        c[i]='0';
	ciur();
	for(int i=2;i<=n;++i)
		if(c[i]=='0')
			count++;
	printf("%d",count);
	return 0;
}