Cod sursa(job #234588)
| Utilizator | Data | 21 decembrie 2008 11:23:56 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <math.h>
fstream f("ciur.in", ios::in);
fstream g("ciur.out", ios::out);
int main ()
{
long k,n,i,j;
unsigned char p[2000001];
f>>n;
f.get();
memset(p,'1',2000001);
i=2; k=0;
while (i<=n)
if (p[i]=='1'){
for( j=i;j<=n;j=j+i)
p[j]='0';
k++;
}
else i++;
f.close();
g<<k;
g.close();
return 0;
}
