Pagini recente » Cod sursa (job #2192966) | Cod sursa (job #655889) | Cod sursa (job #3278505) | Cod sursa (job #2446180) | Cod sursa (job #3143685)
#include <iostream>
#include <vector>
#include <map>
#include <cstring>
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <queue>
#include <cmath>
#include <set>
#include <unordered_map>
#include <stack>
#include <iomanip>
#include <random>
#include <climits>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int MAX = 2 * 1e6 + 1;
bool isPrime[MAX];
int main() {
int n;
fin >> n;
int ans = 0;
isPrime[0] = false;
isPrime[1] = false;
for (int i = 2; i < MAX; ++i) {
isPrime[i] = true;
}
for (int i = 2; i * i < MAX; ++i) {
if (isPrime[i]) {
for (int long j = i * i; j < MAX; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 0; i <= n; ++i) {
if (isPrime[i]) {
++ans;
}
}
fout << ans;
return 0;
}