瀏覽代碼

素数筛法及优化

zj 5 年之前
父節點
當前提交
5f0c30241a
共有 1 個文件被更改,包括 32 次插入0 次删除
  1. 32 0
      C.cpp

+ 32 - 0
C.cpp

@@ -0,0 +1,32 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+const int N = 1000000 + 10;
+vector<int> v(1, 2);
+
+void init() {
+    for (int i = 3; i <= N; i += 2) {
+        bool flag = true;
+        for (int j = 3; j * j <= i; j += 2) {
+            if (i % j == 0) {
+                flag = false;
+                break;
+            }
+        }
+        if (flag)v.push_back(i);
+    }
+}
+
+int main() {
+    init();
+    int n;
+    cin >> n;
+    int tot = 0;
+    for (int i = 0; i < v.size() - 1 && v[i + 1] <= n; i++) {
+        if (v[i + 1] - v[i] <= 2) {
+            ++tot;
+        }
+    }
+    cout << tot << endl;
+    return 0;
+}