Cod sursa(job #2161710)
| Utilizator | Data | 11 martie 2018 20:21:51 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
bool prim[2000010];
int nr[2000001], N;
int main()
{
prim[0] = prim[1] = 1;
for(int i = 2;i <= 2000000;i++){
if(prim[i] == 0){
nr[i] += nr[i - 1] + 1;
for(int j = 2;j * i <= 2000000;j++)
prim[j * i] = 1;
}
else nr[i] += nr[i - 1];
}
in >> N;
out << nr[N];
return 0;
}
