Cod sursa(job #216509)

Utilizator Madalina93Madalina Soare Madalina93 Data 24 octombrie 2008 19:09:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>
#include<math.h>
const int N=2000005;
bool c[N];
void ciur(int n)
{
	int i,j;
	for(i=2;i*i<=n;i++) 
		if(c[i]==false)
			for(j=i*i;j<=n;j=j+i) 
				c[j]=true;
}

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