酷代码 AI
菜单

利用递归函数完成斐波那契数列中第n位数值的输出 语言:C++

```cpp #include <iostream> // 递归函数,用于计算斐波那契数列第 n 项的值 int fibonacci(int n) { // 斐波那契数列的前两项为 0 和 1 if (n == 0) { return 0; } else if (n == 1) { return 1; } // 从第三项开始,每一项都是前两项的和 return fibonacci(n - 1) + fibonacci(n - 2); } int main() { int n; std::cout << "请输入要计算斐波那契数列的第 n 项(n 从 0 开始):"; std::cin >> n; // 调用递归函数计算第 n 项的值 int result = fibonacci(n); std::cout << "斐波那契数列的第 " << n << " 项是:" << result << std::endl; return 0; } ``` 代码解释: 1. `fibonacci` 函数:这是一个递归函数,用于计算斐波那契数列的第 `n` 项。 - 当 `n` 为 0 时,返回 0,因为斐波那契数列的第 0 项是 0。 - 当 `n` 为 1 时,返回 1,因为斐波那契数列的第 1 项是 1。 - 对于 `n` 大于 1 的情况,递归调用 `fibonacci(n - 1)` 和 `fibonacci(n - 2)` 并将它们的结果相加,因为从第三项开始,每一项都是前两项的和。 2. `main` 函数:程序的入口点。 - 提示用户输入要计算的斐波那契数列的第 `n` 项。 - 调用 `fibonacci` 函数计算第 `n` 项的值。 - 输出计算结果。 复杂度分析: - 时间复杂度:$O(2^n)$,因为每次递归调用都会产生两个新的递归调用,导致时间复杂度呈指数级增长。 - 空间复杂度:$O(n)$,主要是递归调用栈的空间开销,递归深度最大为 `n`。 [2026-01-25 09:43:11 | AI问答 | 540点数解答]

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