酷代码 AI
菜单

#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 x; cin >> x; for (int i = 3; i <= x - 2; i++) { if (isPrime(i) && isPrime(i + 2)) { cout << i << " " << i + 2 << endl; } } return 0; }用C++简答 回答篇幅:简单明了

以下是对这段代码的简单解释: 功能 这段 C++ 代码用于找出小于等于用户输入值 `x` 范围内的所有孪生素数对。孪生素数是指相差为 2 的素数对。 代码详解 1. `isPrime` 函数: - 该函数用于判断一个数是否为素数。 - 若数字小于 2,直接返回 `false`。 - 从 2 开始遍历到该数的平方根,若能被整除则返回 `false`,否则返回 `true`。 2. `main` 函数: - 从用户输入读取一个整数 `x`。 - 从 3 开始遍历到 `x - 2`,检查 `i` 和 `i + 2` 是否都为素数,若是则输出这对孪生素数。 复杂度分析 - 时间复杂度:`isPrime` 函数时间复杂度为 $O(\sqrt{n})$,主循环遍历 $O(x)$ 次,整体时间复杂度为 $O(x\sqrt{x})$。 - 空间复杂度:代码只使用了常数级额外空间,空间复杂度为 $O(1)$。 [2026-01-31 19:54:02 | AI问答 | 278点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多