Cod sursa(job #1380119)
Utilizator | hahahalera alexandru94 | Data | 6 martie 2015 22:06:56 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int N/*, v[2000000]*/;
bool neprim[2000000];
ifstream in ("ciur.in");
ofstream out("ciur.out");
int main()
{
int i, j, nr = 0, aux = 0;
in >> N;
for(i = 2; i <= N; i++)
{
if(!neprim[i])
{
nr++;
aux = 2 * i;
while(aux < N)
{
neprim[aux] = true;
aux = aux + i;
}
}
}
cout << nr - 1 << "\n";
out << nr - 1;
return 0;
}