Cod sursa(job #2831680)
Utilizator | Cristian Chris.s | Data | 11 ianuarie 2022 21:17:26 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int N = 2e6;
bool prim[N + 1];
void Ciur(int n)
{
for (int i = 2; i <= n; ++i)
prim[i] = true;
for (int i = 2; i * i <= n; ++i)
if (prim[i])
for (int j = 2; i * j <= n; ++j)
prim[i * j] = false;
}
int main()
{
Ciur(N);
int n;
fin >> n;
int cnt = 0;
for(int i = 1; i <= n; ++i)
if(prim[i] == true)
cnt++;
fout << cnt;
}