c++输入一个正整数n,找到第n个小的质数,其中2是第1个质数,3是第2个质数,依次类推。
时间: 2024-05-08 10:21:05 浏览: 9
以下是使用C++实现找到第n个质数的代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num) {
if(num <= 1) {
return false;
}
for(int i = 2; i <= sqrt(num); i++) {
if(num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
int count = 0;
int i = 2;
while(count < n) {
if(isPrime(i)) {
count++;
}
i++;
}
cout << "第" << n << "个质数是:" << i-1 << endl;
return 0;
}
```
程序的思路是先定义一个isPrime函数,用于判断一个数是否为质数。然后读入一个正整数n,使用一个while循环,从2开始依次判断每个数是否为质数,如果是,则计数器count加1,直到count等于n为止。最后输出第n个质数。
相关问题
c++输入一个正整数n,求第n小的质数。(用数组)
您好!对于这个问题,我可以给您一个解决方案。首先,我们可以定义一个函数来判断一个数是否为质数。接下来,我们可以使用一个循环来找到第n小的质数。下面是一个示例代码:
```cpp
#include <iostream>
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;
}
int findNthPrime(int n) {
int count = 0;
int num = 2;
while (count < n) {
if (isPrime(num)) {
count++;
}
num++;
}
return num - 1;
}
int main() {
int n;
std::cout << "请输入一个正整数n:";
std::cin >> n;
int nthPrime = findNthPrime(n);
std::cout << "第" << n << "小的质数是:" << nthPrime << std::endl;
return 0;
}
```
这个程序会要求您输入一个正整数n,并输出第n小的质数。希望能对您有所帮助!如果您还有其他问题,请随时提问。
输入一个正整数n,找到第n个小的质数,其中2是第1个质数,3是第2个质数,依次类推。c++
以下是 C++ 的代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
bool isPrime(int n) {
if (n < 2) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
int nthPrime(int n) {
vector<int> primes;
primes.push_back(2);
int num = 3;
while (primes.size() < n) {
if (isPrime(num)) primes.push_back(num);
num += 2;
}
return primes.back();
}
int main() {
int n;
cout << "Enter a positive integer n: ";
cin >> n;
cout << "The " << n << "th prime number is " << nthPrime(n) << endl;
return 0;
}
```
首先定义一个函数 `isPrime` 判断一个数是否为质数,然后定义另一个函数 `nthPrime` 找到第 n 个质数。在 `nthPrime` 函数中,使用一个向量 `primes` 存储已经找到的质数,然后从 3 开始,每次加 2 判断当前数是否为质数,如果是就将其加入向量 `primes` 中。最后返回向量中的第 n 个元素即可。
在 `main` 函数中输入需要查询的 n,然后输出第 n 个质数。