Cod sursa(job #1976941)
| Utilizator | Data | 4 mai 2017 16:50:52 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 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 (long long j = 1LL * i * i; j <= N; j += i)
marked[j] = 1;
}
}
return primes;
}
int main() {
int N;
fin >> N;
fout << ciur(N);
return 0;
}
