Cod sursa(job #444911)
| Utilizator | Data | 22 aprilie 2010 07:27:46 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int i, j, n, num;
int p[2000001];
void sterge(int i)
{
for(j=2*i; j<=n; j+=i) p[j]=0;
}
int main()
{
fin>>n; num=0;
fin.close();
for(i=3; i<=n; i+=2) p[i]=1;
p[2]=1;
for(i=1;i<=n;i++)
{
if(p[i])
{
num++;
sterge(i);
}
}
fout<<num;
fout.close();
return 0;
}
