如何使用 C++ 简单函数实现一个功能,输入一个正整数 n,然后程序返回并输出第 n 个最小的质数?
时间: 2024-10-27 18:07:50 浏览: 22
C++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数
在 C++ 中,我们可以编写一个简单函数来实现这个功能。首先,我们需要定义一个辅助函数来检查一个数是否是质数,接着创建一个主函数来寻找第 n 个最小的质数。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 辅助函数,判断一个数是否为质数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
// 主函数,找出第 n 个最小的质数
int findNthPrime(int n) {
int count = 0, num = 2;
while (count < n) {
if (isPrime(num))
count++;
num++;
}
return num - 1; // 因为num已经是下一个质数了,所以减一得到第n个
}
int main() {
int n;
cout << "请输入一个正整数 n: ";
cin >> n;
try {
int nthPrime = findNthPrime(n);
if (nthPrime > 0) {
cout << "第 " << n << " 个最小的质数是: " << nthPrime << endl;
} else {
cout << "无法找到第 " << n << " 个质数,因为存在大于该数值的非质数" << endl;
}
} catch (...) {
cerr << "输入错误,请输入正整数" << endl;
}
return 0;
}
```
阅读全文