// Contoh Bab 07: saringan Eratosthenes. // // Compile: g++ -std=c++17 -O2 -o saringan exercises/07/05-saringan.cpp // Jalankan: ./saringan // Contoh masukan: 1000000 #include using namespace std; const int MAKS = 1000001; bool coret[MAKS]; void saring(int n) { coret[0] = coret[1] = true; for (int i = 2; (long long)i * i <= n; i++) { if (!coret[i]) { for (int j = i * i; j <= n; j += i) coret[j] = true; } } } int main() { int n; cin >> n; saring(n); int banyak = 0; for (int i = 2; i <= n; i++) if (!coret[i]) banyak++; cout << banyak << "\n"; return 0; }