Cod sursa(job #447906)
Utilizator | Data | 1 mai 2010 21:18:07 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int p[200002],n,nr;
void count();
int prim(int x);
int main()
{
f>>n;
count();
g<<nr<<'\n';
f.close();
g.close();
return 0;
}
void count()
{
int i=-1,k;
nr=n-1;
for(i=0;i<n;p[++i]=i);
for (i=2;i<=n;++i)
for (k=i+i;k<=n;k+=i)
if (k<=n&&p[k])
{
p[k]=0;
--nr;
}
}