Cod sursa(job #306736)
Utilizator | Data | 21 aprilie 2009 21:05:25 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<stdio.h>
#include<stdlib.h>
bool *v;
int main()
{register int n,nr=0,i,j;
freopen("ciur.in","rt",stdin);
freopen("ciur.out","wt",stdout);
scanf("%d",&n); v=(bool*)calloc(n+1,sizeof(n));
for(i=2;i<=n;++i)
if(!v[i])
{++nr;
for(j=2;j*i<=n;++j) v[j*i]=1;
}
printf("%d\n",nr);
free(v);
//system("PAUSE>NULL");
return 0;
}