Cod sursa(job #1193236)
Utilizator | Data | 31 mai 2014 12:32:24 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
using namespace std;
#include <fstream>
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool prim[2000010];
int main()
{
int i, j, n, nr=1;
fin>>n;
for(i=2; i<=n; ++i)
prim[i] = i%2;
for(i=3; i<=n; ++i)
{
while(!prim[i] && i<=n) ++i;
if(i<=n) nr++;
for(j=i+i; j<=n; j+=i)
prim[j]=0;
}
fout<<nr<<'\n';
return 0;
}