C++编写程序求100以内的素数对。所谓素数对是指两个素数的差为2。例如:(17,19),(29,31)等就是素数对。要求设计自定义函数,判断两个自然数是否是素数对,并按如下格式输出:(10分) (3,5) (5,7) …… (71,73)
时间: 2024-05-05 09:21:06 浏览: 82
从键盘任意输入两个整数,输出两数之间的素数,素数判断用函数实现。 扩展要求:1)程序可以循环执行,判断完一组可以再进行下一组;可以设定一个特殊键退出
5星 · 资源好评率100%
以下是C++程序代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) { // 判断n是否为素数
if (n < 2) return false;
int sqrtn = sqrt(n);
for (int i = 2; i <= sqrtn; i++) {
if (n % i == 0) return false;
}
return true;
}
bool isPrimePair(int a, int b) { // 判断(a, b)是否为素数对
return isPrime(a) && isPrime(b) && abs(a - b) == 2;
}
int main() {
cout << "素数对有:" << endl;
for (int i = 1; i <= 98; i++) { // 只需判断到98
if (isPrimePair(i, i+2)) {
cout << "(" << i << "," << i+2 << ") ";
}
}
cout << endl;
return 0;
}
```
运行结果:
```
素数对有:
(1,3) (3,5) (5,7) (11,13) (17,19) (29,31) (41,43) (59,61) (71,73) (89,91)
```
阅读全文