Cod sursa(job #216508)

Utilizator chrisuPirvu Cristina chrisu Data 24 octombrie 2008 19:07:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
const int N=2000005 ;
int x;
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+=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()  
{  
      
    freopen("ciur.in","r",stdin);  
    freopen("ciur.out","w",stdout);  
      
    scanf("%d",&x);  
    ciur(x);  
    printf("%d\n",numara(x));  
    return 0;  
}