Cod sursa(job #209093)
| Utilizator | Data | 20 septembrie 2008 16:34:20 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<stdio.h>
char c[10000];
void ciur (int n)
{
int d=2,i;
c[0]=1; c[1]=1;
while (d*d<n)
{
if(!c[d])
for (i=d*d; i<=n; i=i+d)
c[i]=1;
d++;
}
}
int numere(int n)
{
int i,num=0;
for (i=2; i<=n; ++i)
if (!c[i]) num++;
return num;
}
main()
{
int n;
freopen ("ciur.in","r",stdin);
freopen ("ciur.out","w",stdout);
scanf("%d",&n);
ciur(n);
printf("%d ",numere(n));
}
