示例: 两个区间之间的质数
#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()
的数字是素数,则此函数返回 true,否则函数返回 false。
如果用户先输入较大的数字,该程序将交换数字。没有交换,这个程序将无法运行。