Cod sursa(job #361157)
Utilizator | Data | 3 noiembrie 2009 21:38:40 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | CNRV #4 | Marime | 0.39 kb |
#include <stdio.h>
#include <time.h>
unsigned char val[2000000];
int main(){
clock_t beg=clock();
unsigned int N,num=0,i,j;
memset(val,0,2000000);
freopen("ciur.in","rt",stdin);
freopen("ciur.out","wt",stdout);
scanf("%u",&N);
for(i=2;i<N;i++){
if(!val[i-1]){
for(j=i*2-1;j<N;j+=i){
val[j]=1;
}
}
}
for(i=1;i<N;i++){
if(!val[i])num++;
}
printf("%d",num);
return 0;
}