C++程序显示两个区间之间的素数
素数是一个大于1的整数,素数的因数只有1和它本身。一些最初的素数是2、3、5、7、11、13、17等。
两个区间之间可能存在许多素数。例如,区间5到20之间的素数是:
5, 7, 11, 13, 17 and 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循环中,flag的初始值为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++;
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP