Cod sursa(job #392638)
Utilizator | Data | 7 februarie 2010 22:45:20 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<fstream.h>
#include<iostream.h>
char v[2000001];
long n,i,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;
}