Cod sursa(job #3314344)
| Utilizator | Data | 9 octombrie 2025 17:26:38 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
const int NMAX = 2000000;
bool v[NMAX + 1];
void ciur(int n)
{int nr=0;
v[0] = v[1] = true;
for (int i = 4; i <= n; i += 2)
v[i] = true;
for (int i = 3; i * i <= n; i += 2)
if (!v[i])
for (int j = i * i; j <= n; j += 2 * i)
v[j] = true;
}
int main()
{int n;
f>>n;
ciur(NMAX);
int nr=0;
for(int i=1;i<=n;i++)
if(v[i]==0)nr++;
g<<nr;
return 0;
}
