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.