酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++ 实现找出不超过 m 的最大孪生素数

下面是一个用 C++ 编写的解决方案,用于找出不超过 `m` 的最大孪生素数: ```cpp #include <iostream> using namespace std; // 判断一个数是否为素数 bool isPrime(int num) { if (num < 2) return false; for (int i = 2; i * i <= num; i++) { if (num % i == 0) return false; } return true; } int main() { int m; cin >> m; // 从 m 开始递减查找最大的孪生素数 for (int i = m - 2; i >= 2; i--) { if (isPrime(i) && isPrime(i + 2)) { cout << i << " " << i + 2 << endl; break; } } return 0; } ``` ### 代码解释 1. **`isPrime` 函数**:该函数用于判断一个数是否为素数。如果一个数小于 2,则它不是素数;否则,从 2 开始到该数的平方根进行遍历,如果能被其中任何一个数整除,则不是素数,返回 `false`;否则返回 `true`。 2. **`main` 函数**: - 首先读取输入的整数 `m`。 - 然后从 `m - 2` 开始递减遍历,对于每个数 `i`,检查 `i` 和 `i + 2` 是否都是素数。 - 如果找到一对孪生素数,则输出这对孪生素数,并使用 `break` 语句跳出循环。 ######[AI问答 | 400点数解答 | 2026-08-05 19:11:21]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]