Cod sursa(job #153405)

Utilizator alexeiIacob Radu alexei Data 10 martie 2008 15:15:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>
#define nmax 2000000

char a[nmax];

void init(int n)
{
     for(int i=1; i<=n; ++i)
     a[i]='0';
     
     }


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