伯特兰在 C++ 中的假设

Bertrand 的假设是一个数学陈列室,它指出对于每个数 n>3,都存在一个位于 n 和 2n-2 之间的素数 p。

伯特兰公设的公式

n < p < 2n -2

其中 n 是一个数,使得 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