用C++编程实现利用函数求解闭区间[m, n]之间的双质数,其中m和n均为正整数且m < n。
时间: 2023-06-17 13:02:46 浏览: 180
以下是利用函数求解闭区间[m, n]之间的双质数的C++代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num) { // 判断一个数是否为质数
if (num <= 1)
return false;
int sqr = sqrt(num);
for (int i = 2; i <= sqr; i++) {
if (num % i == 0)
return false;
}
return true;
}
bool isTwinPrime(int num) { // 判断一个数是否为双质数
if (isPrime(num) && isPrime(num + 2))
return true;
else
return false;
}
void findTwinPrimes(int m, int n) { // 查找闭区间[m, n]之间的双质数
for (int i = m; i <= n - 2; i++) {
if (isTwinPrime(i))
cout << "(" << i << "," << i + 2 << ")" << endl;
}
}
int main() {
int m, n;
cout << "请输入闭区间[m, n]的范围(m和n均为正整数且m < n):" << endl;
cin >> m >> n;
cout << "闭区间[" << m << ", " << n << "]中的双质数为:" << endl;
findTwinPrimes(m, n);
return 0;
}
```
主要思路是先定义两个函数,一个用于判断一个数是否为质数,另一个用于判断一个数是否为双质数。然后在`findTwinPrimes`函数中,用一个循环遍历闭区间[m, n]中的每一个数,如果它是双质数,则输出。最后在`main`函数中,输入闭区间的范围,调用`findTwinPrimes`函数来查找闭区间中的双质数。
阅读全文