编写主函数main(),输入正整数c,d的值(c>2),计算并输出指定区间[c,d]上的所有孪生素数对,并统计这些孪生素数对的数量
时间: 2024-05-10 07:17:32 浏览: 52
以下是一个简单的 C++ 代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
bool isPrime(int n) { // 判断素数
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
int main() {
int c, d;
cin >> c >> d;
vector<pair<int, int>> twins; // 用 vector 存储孪生素数对
int count = 0; // 统计孪生素数对的数量
for (int i = c; i <= d - 2; i++) {
if (isPrime(i) && isPrime(i + 2)) { // 判断是否为孪生素数对
twins.push_back({i, i + 2});
count++;
}
}
cout << "孪生素数对数量为: " << count << endl;
cout << "孪生素数对列表为: " << endl;
for (auto twin : twins) {
cout << twin.first << " " << twin.second << endl;
}
return 0;
}
```
该代码首先定义了一个函数 `isPrime`,用于判断一个数是否为素数。接着在 `main` 函数中输入了两个正整数 `c` 和 `d`,并定义了一个 `vector` 用于存储孪生素数对。然后在一个循环中,从 `c` 到 `d-2` 的区间内判断每一个数是否为素数,并判断它和它加上2是否同时为素数,如果是,则将这对孪生素数对添加到 `vector` 中,并将计数器 `count` 加一。最后输出计数器的值和 `vector` 中的孪生素数对。
阅读全文