Cod sursa(job #251621)
Utilizator | Data | 2 februarie 2009 23:32:33 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <fstream.h>
#define marime 2000001
ifstream f("ciur.in");
ofstream g("ciur.out");
int main()
{
long unsigned i,n,k,p=0;
char a[marime];
f>>n;
for(i=2;i<=n;i++)
a[i]=i;
for(i=2;i<=n;i++) if(a[i]!=0)
{ for(k=i+1;k<=n;k++)
if(a[k]%a[i]==0)
a[k]=0;
}
for(i=1;i<=n;i++) {if(a[i]!=0) p++;}
g<<p;
f.close();g.close();
return 0;
}