Cod sursa(job #216483)

Utilizator sabina67Zavoianu Sabina sabina67 Data 24 octombrie 2008 18:29:28
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 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;  
   }