Cod sursa(job #1976939)
| Utilizator | Data | 4 mai 2017 16:50:06 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
#define NMAX 2000002
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bitset<NMAX> marked;
int ciur(const int N) {
if (N <= 1)
return 0;
int primes = 1;
for (int i = 3; i <= N; i += 2) {
if (!marked[i]) {
primes++;
for (int j = 1LL * i * i; j <= N; j += i)
marked[j] = 1;
}
}
return primes;
}
int main() {
int N;
fin >> N;
fout << ciur(N);
return 0;
}
