Cod sursa(job #154956)
| Utilizator | Data | 11 martie 2008 16:55:35 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#define dim1 2000001
#include<fstream>
using namespace std;
int a[dim1];
long n;
void ciuru()
{
a[0]=a[1]=1;
for(long p = 2; p < n; p++)
if(a[p]==0)
for(long i=2*p;i < dim1; i+=p)
a[i]=1;
}
void afisare()
{
ofstream g("ciur.out");
long nr = 0;
for(long i=0; i < n; i++)
nr += 1 - a[i];
g << nr;
g.close();
}
int main(){
ifstream f("ciur.in");
f >> n;
ciuru();
afisare();
f.close();
return 0;
}
//---------------------------------------------------------------------------
