用c++语言 列出两个整数之间(包含这两个数)的所有素数,若没有素数则输出N
时间: 2024-11-27 11:24:21 浏览: 23
在C++中,我们可以使用嵌套循环和质数判断函数来列出指定范围内(包括两个整数)的所有素数。以下是基本的算法:
```cpp
#include <iostream>
using namespace std;
// 判断是否为素数的辅助函数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) { // 只需检查到sqrt(num),因为大于此值的因子成对存在
if (num % i == 0)
return false;
}
return true;
}
void printPrimesInRange(int start, int end) {
for (int i = start; i <= end; ++i) {
if (isPrime(i))
cout << i << " ";
}
if (start > end || !any_of(start, end + 1, isPrime)) {
cout << "N" << endl; // 没有素数
}
}
int main() {
int rangeStart, rangeEnd;
cout << "请输入两个整数范围(开始和结束),用空格分隔:";
cin >> rangeStart >> rangeEnd;
printPrimesInRange(rangeStart, rangeEnd);
return 0;
}
```
阅读全文