C++ 实现:轻松求解第 n 大素数(附代码及详细解释)
以下是解决该问题的 C++ 代码: ```cpp #include <iostream> using namespace std; // 判断一个数是否为素数的函数 bool isPrime(int num) { if (num < 2) return false; // 小于 2 的数不是素数 for (int i = 2; i * i <= num; i++) { if (num % i == 0) return false; // 如果能被除 1 和它本身以外的数整除,不是素数 } return true; } int main() { int n; cin >> n; // 读取输入的 n int count = 0; // 记录找到的素数的个数 int num = 2; // 从最小的素数 2 开始检查 while (true) { if (isPrime(num)) { count++; // 如果是素数,素数个数加 1 if (count == n) { // 当找到第 n 个素数时 cout << num << endl; // 输出该素数 break; // 结束循环 } } num++; // 检查下一个数 } return 0; } ``` 代码解释 1. `isPrime` 函数:用于判断一个数是否为素数。对于小于 2 的数,直接返回 `false`;对于大于等于 2 的数,从 2 开始检查到该数的平方根,如果能被整除,则不是素数,返回 `false`,否则返回 `true`。 2. `main` 函数: - 读取输入的 `n`。 - 使用 `count` 记录找到的素数的个数,从 2 开始检查每个数是否为素数。 - 当找到一个素数时,`count` 加 1,当 `count` 等于 `n` 时,输出该素数并结束循环。 额外需要注意的逻辑点 1. 素数的判断范围:在 `isPrime` 函数中,只需要检查到该数的平方根,这样可以减少不必要的检查,提高效率。 2. 素数的起始值:素数是从 2 开始的,因此在 `main` 函数中,从 2 开始检查每个数是否为素数。 3. 循环的结束条件:在 `main` 函数中,使用 `while (true)` 循环,当找到第 `n` 个素数时,使用 `break` 语句结束循环。 ######[AI写代码神器 | 602点数解答 | 2025-06-14 20:59:10]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)363
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)258
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)284
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)281
- 求解 1 至 n 内第 k 大孤独数:质数与余数的巧妙探寻(字节豆包 | 298点数解答 | 2025-11-10 20:01:57)179
- 巧判小朋友同桌意愿:满足需求还是无解难题?(字节豆包 | 599点数解答 | 2025-11-16 20:06:12)82
- 巧用代码判断:能否让 2n 个小朋友都拥有满意同桌?(字节豆包 | 445点数解答 | 2025-11-16 20:07:02)89
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)334
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)488
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)373
- C语言:实现整数分解,偶数拆素数、奇数有提示!(字节豆包 | 390点数解答 | 2024-10-13 23:02:27)258
- C 语言:实现整数分解,偶数拆素数、奇数特殊输出!(字节豆包 | 307点数解答 | 2024-10-13 23:05:41)239