Cod sursa(job #937637)
| Utilizator | Data | 10 aprilie 2013 18:44:23 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream f("ciur.in");
ofstream g("ciur.out");
int v[200001],i,p;
long long n,k;
f>>n;
p=0;
v[1]=0;
for(i=2;i<=n;i++)
{ if((i%2==0)&&(i!=2))
v[i]=0;
else
v[i]=i;
}
for(i=3;i<=n;i++)
{ if(v[i]!=0)
{k=2;
while(k<=(n/i))
{v[i*k]=0;
k++;
}
}
}
for(i=2;i<=n;i++)
{ if(v[i]!=0)
p++;
}
g<<p;
f.close();
g.close();
return 0;
}