Cod sursa(job #3329225)
| Utilizator | Data | 12 decembrie 2025 12:35:57 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <bits/stdc++.h>
#include <fstream>
#include <vector>
#define nmax 2000001
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
vector<bool> primes(nmax, 0);
void ciur() {
primes[0] = primes[1] = 1;
for (int i = 2; i * i < nmax; i++)
if (primes[i] == 0)
for (int j = i * i; j < nmax; j += i)
primes[j] = 1;
}
int main() {
ciur();
int n, ans = 0;
fin >> n;
for (int i = 0; i <= n; i++)
if (!primes[i])
ans++;
fout << ans;
return 0;
}
