Pagini recente » Cod sursa (job #1840432) | Cod sursa (job #1724932) | Cod sursa (job #666576) | Cod sursa (job #2095540) | Cod sursa (job #2947092)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <deque>
#include <queue>
#include <stack>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
typedef long long ll;
//computes the chiur of Eratosthenes for finding the prime numbers
vector<bool> computePrimes(const int& n) {
vector<bool> isPrime(n + 1, 1);
isPrime[0] = isPrime[1] = 0;
for (int i = 2; i * i <= n; ++i) {
if (isPrime[i]) {
int multiple = 2 * i;
while (multiple <= n) {
isPrime[multiple] = 0;
multiple += i;
}
}
}
return isPrime;
}
void Solve() {
int n, ans = 0;
fin >> n;
auto isPrime = computePrimes(n);
for (int i = 2; i <= n; ++i) {
ans += isPrime[i];
}
fout << ans;
}
int main() {
ios_base::sync_with_stdio(false);
Solve();
return 0;
}