使用函数显示两个数字之间的质数的 C++ 程序
要理解此示例,您应该具备以下 C++ 编程 主题的知识:
示例:两个区间之间的质数
#include <iostream>
using namespace std;
int checkPrimeNumber(int);
int main() {
int n1, n2;
bool flag;
cout << "Enter two positive integers: ";
cin >> n1 >> n2;
// swapping n1 and n2 if n1 is greater than n2
if (n1 > n2) {
n2 = n1 + n2;
n1 = n2 - n1;
n2 = n2 - n1;
}
cout << "Prime numbers between " << n1 << " and " << n2 << " are: ";
for(int i = n1+1; i < n2; ++i) {
// If i is a prime number, flag will be equal to 1
flag = checkPrimeNumber(i);
if(flag)
cout << i << " ";
}
return 0;
}
// user-defined function to check prime number
int checkPrimeNumber(int n) {
bool isPrime = true;
// 0 and 1 are not prime numbers
if (n == 0 || n == 1) {
isPrime = false;
}
else {
for(int j = 2; j <= n/2; ++j) {
if (n%j == 0) {
isPrime = false;
break;
}
}
}
return isPrime;
}
输出
Enter two positive integers: 12
55
Prime numbers between 12 and 55 are:
13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53
为了打印两个整数之间的所有素数, checkPrimeNumber()
函数被创建。这个函数检查一个数是否是素数。
n1
和 n2
之间的所有整数传递给这个函数。
如果传递给的数字 checkPrimeNumber()
是质数,则该函数返回真,否则该函数返回假。
如果用户先输入较大的数字,该程序将交换数字。没有交换,这个程序将无法工作。