C ++プライムペア予想

 

 

 

 

私の解決策は、最初に2からnまでのすべての素数をリストしてから計算することです。すべての素数をリストするために、「エラトシンふるい法」と呼ばれる方法が使用されました。

アルゴリズムはここにあります:https : //www.sohu.com/a/252674565_614593

1 #include <iostream>
 2 #include <vector>
 3 #include <cmath>
 4  
5  名前空間std を使用 6 7 int main()
 8 {
 9 int n;
10      cin >> n;
11 12      vector < int > arr;
13      arr.reserve(n + 1 );
14 forint i = 2 ; i <= n; ++ i)
 15     {
 16          arr [i] = i;
17 
        
           }
 18  
19      double a = sqrt(n);
20      //(すべての素数
21      int i = 2 ; i <= a; ++ i)で
 取得22      {
 23          forint j = 2 ; j * i <= n; j ++ 24          {
 25              arr [i * j] = 0 ;
26          }
 27      }
 28  
29      int time = 0 ;
30      forint i = 2 ; i +2 <= n; ++ i)
 31      {
 32          if(arr [i + 2 ] -arr [i] == 2 33          {
 34              time ++ ;
35          }
 36      }
 37      cout << 時間;
38      戻り 値0 ;
39 }

 

おすすめ

転載: www.cnblogs.com/apprendre-10-28/p/12732268.html