C.cpp 827 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. using LL=long long;
  4. const int MAXN = 1e6 + 10;
  5. vector<int> primes = {2, 3};
  6. void init() {
  7. for (int k = primes.back()+2; k <= MAXN; k += 2) {
  8. bool flag = true;
  9. for (auto p:primes) {
  10. if (p * p > k)break;
  11. if (k % p == 0) {
  12. flag = false;
  13. break;
  14. }
  15. }
  16. if (flag)primes.push_back(k);
  17. }
  18. }
  19. int main() {
  20. init();
  21. for (int n; cin >> n;) {
  22. int tot = 0;
  23. for (size_t i = 0; i < primes.size() - 1; i++) {
  24. if (primes[i + 1] > n)break;
  25. if (primes[i + 1] - primes[i] <= 2) {
  26. //cout << primes[i] << " " << primes[i + 1] << endl;
  27. ++tot;
  28. }
  29. }
  30. cout << tot << endl;
  31. }
  32. return 0;
  33. }