C++中的伯特蘭德假設


伯特蘭德假設是一個數學定理,它指出對於任何大於3的數n,都存在一個素數p,使得n < p < 2n - 2。

伯特蘭德假設的公式

n < p < 2n -2

其中n是一個大於3的數,p是一個素數。

素數 − 一個數如果只有1和它本身兩個因子,則它是一個素數。

伯特蘭德假設的一種較寬鬆的表述是

n < p < 2n , for all n>1.

示例

數字

5

輸出

7

解釋

prime number in range 5 and 2*5 i.e. prime number between 5 and 10

數字

11

輸出

13, 17, 19

解釋

prime number in range 11 and 2*11 i.e. prime number between 11 and 22

使用伯特蘭德假設查詢素數的程式

// 使用伯特蘭德假設查詢素數的程式 −

示例

 線上演示

#include <iostream>
using namespace std;
void printPrime(int n) {
   int flag = 0;
   for (int i = 2; i * i <= n; i++)
      if (n % i == 0) // i is a factor of n
         flag++;
   if(flag == 0)
      cout<<n<<" ";
}
int main() {
   int n = 22;
   cout<<"Prime numbers in range ("<<n<<", "<<2*n<<") :\t";
   for (int p = n + 1; p < 2 * n - 2; p++)
   printPrime(p);
   return 0;
}

輸出

Prime numbers in range (22, 44) : 23 29 31 37 41

更新於:2020年7月17日

125 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.