Cod sursa(job #342061)
| Utilizator | Data | 20 august 2009 14:50:46 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream.h>
#include <math.h>
#define MAXN 10001
long N,C[MAXN];
ifstream fin("ciur.in");
ofstream fout("ciur.out");
void ciur()
{
long i,j;
for(i=4;i<=MAXN;i=i+2)
C[i]=1;
for(i=3;i<=sqrt(MAXN)+1;i=i+2)
if(C[i]==0)
for(j=i*i;j<=MAXN;j=j+2*i)
C[j]=1;
}
int main()
{
fin>>N;
ciur();
int i,x;x=0;
for(i=2;i<=N;i++)
if(C[i]==0)x=x+1;
fout<<x;
fin.close();
fout.close();
return 0;
}
