// PR Bab 07, tantangan -- pembahasan. #include using namespace std; const int MAKS = 1000001; bool coret[MAKS]; int main() { int n; cin >> n; coret[0] = true; if (n >= 1) coret[1] = true; for (int i = 2; (long long)i * i <= n; i++) { if (!coret[i]) { // mulai dari i*i: kelipatan yang lebih kecil sudah dicoret for (int j = i * i; j <= n; j += i) coret[j] = true; } } int banyak = 0; for (int i = 2; i <= n; i++) if (!coret[i]) banyak++; cout << banyak << "\n"; return 0; }