Cod sursa(job #182108)
| Utilizator | Data | 20 aprilie 2008 13:27:41 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
//#include <mem.h>
int v[20001];
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
long n,i,j;
scanf("%ld",&n);
//printf("%d",n);
// memset(v,0,sizeof(v));
for(i=4;i<=n;i+=2)v[i]=1;
for(i=3;i<=n;i+=2){
if(!v[i])for(j=i*i;j<=n;j+=i+i)v[j]=1;
}
long num;
num=0;
for(i=2;i<=n;i++)if(!v[i]) num++; // printf(" %d ",i);}
printf("%ld",num);
return 0;
}
