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