Cod sursa(job #272544)
Utilizator | Data | 7 martie 2009 13:20:27 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<fstream.h>
#include<math.h>
int ok[2000];
int main()
{unsigned long n,i,j,k;
ifstream f("ciur.in");
ofstream g("ciur.out");
f>>n;
for(i=1;i<=n;i++) ok[i]=1;
for(i=2;i<=(int)sqrt(n);i++)
if(ok[i]==1)
{j=2;
while(i*j<=n){ok[i*j]=0;
j++;
}
}
k=0;
for(i=2;i<=n;i++) if(ok[i]==1)k++;
g<<k<<'\n';
f.close();
g.close();
return 0;
}