Cod sursa(job #392637)
Utilizator | Data | 7 februarie 2010 22:38:23 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.34 kb |
#include<fstream.h>
#include<iostream.h>
long n,i,v[2000001],p=2,c=0;
int main()
{
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin>>n;
while(p*p<=n){
for(i=p*p;i<=n;i=i+p)v[i]=1;
for(i=p+1;i<=n;i++)if(!v[i]){
p=i;
break;
}
}
for(i=2;i<=n;i++)if(!v[i])c++;
fout<<c;
return 0;
}