C ++程序使用函数显示两个时间间隔之间的质数

质数是一个大于1的整数,并且质数的唯一因素应该是一个本身。一些第一个质数是2、3、5、7、11、13、17等。

两个间隔之间可以有许多质数。例如,间隔5和20之间的质数是5、7、11、13、17和19。

查找和显示两个间隔之间的质数的程序如下所示。

示例

#include <iostream>

using namespace std;

void primeNumbers (int lbound, int ubound) {

   int flag, i;

   while (lbound <= ubound) {

      flag = 0;

      for(i = 2; i <= lbound/2; i++) {

         if(lbound % i == 0) {

            flag = 1;

            break;

         }

      }

      if (flag == 0)

      cout<<lbound<<" ";

      lbound++;

   }

}

int main() {

   int lowerbound = 20, upperbound = 50;

   cout<<"Prime numbers between "<<lowerbound<<" and "<<upperbound<<" are: ";

   primeNumbers(lowerbound,upperbound);

   return 0;

}

输出结果

Prime numbers between 20 and 50 are: 23 29 31 37 41 43 47

在上面的程序中,该函数main()仅包含cout对象,并且primeNumbers()使用上限和下限作为参数的函数调用。在下面的代码片段中可以看到。

cout<<"Prime numbers between "<<lowerbound<<" and "<<upperbound<<" are: ";

primeNumbers(lowerbound,upperbound);

在函数中primeNumbers(),测试从lbound到ubound的每个数字,看是否为质数。如果它是质数,则会显示它。这是使用while循环完成的。

在while循环中,标志的初始值= 0。如果数字不是素数,则在for循环中将flag的值设置为1。在for循环结束之后,如果flag仍然为0,则该数字为质数并显示出来。可以从以下代码片段中观察到这一点。

while (lbound <= ubound) {

   flag = 0;

   for(i = 2; i <= lbound/2; i++) {

      if(lbound % i == 0) {

         flag = 1;

         break;

      }

   }

   if (flag == 0)

   cout<<lbound<<" ";

   lbound++;

}

以上是 C ++程序使用函数显示两个时间间隔之间的质数 的全部内容, 来源链接: utcz.com/z/347383.html

回到顶部