以下是对该斐波那契序列函数的补充和分析: ```c int fib (int n) { int a = 1, b = 1, i, s; if (n == 1 || n == 2) return(1); for (i = 3; i <= n; i++) // ① 处应填 3 ,因为前两个数已直接处理 { s = a + b; // ② 处计算下一个斐波那契数 a = b; b = s; } return s; // ③ 处返回计算得到的第 n 个斐波那契数 } ``` 算法的时间复杂度:\(O(n)\) 。因为循环执行了 \(n - 2\) 次。 算法的空间复杂度:\(O(1)\) 。因为只使用了固定数量的几个整数变量,空间消耗不随输入规模 \(n\) 的增加而增加。 [2024-11-14 00:29:24 | AI写代码神器 | 232点数解答]