编写程序实现斐波那契数列,斐波那契数列:1、1、2、3、5、8、 13、21、34、……在数学上,斐波那契数列以如下被以递推的方 法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。
时间: 2024-11-06 15:25:17 浏览: 42
你可以使用循环或递归的方式来编写一个计算斐波那契数列的程序。以下是两种常见的实现方式:
**使用循环(迭代法):**
```python
def fibonacci_iterative(n):
fib_sequence = [1, 1]
while len(fib_sequence) < n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence[:n]
# 测试
n_terms = 10
fibonacci_numbers = fibonacci_iterative(n_terms)
print(fibonacci_numbers)
```
**使用递归(递归法):**
```python
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
# 使用while循环防止无限递归
def fibonacci_recursive_safe(n):
sequence = []
a, b = 0, 1
while len(sequence) < n:
sequence.append(a)
a, b = b, a + b
return sequence
# 测试
n_terms = 10
fibonacci_numbers = fibonacci_recursive_safe(n_terms)
print(fibonacci_numbers)
--
相关问题--
1. 递归方法在求解较大数值的斐波那契数时,效率如何?
2. 斐波那契数列有哪些实际应用?
3. 如何优化递归版本的斐波那契算法以提高效率?
-->
阅读全文