1. 递归方法 (简洁但效率低,尤其对于较大的n值)
Python
1def fibonacci_recursive(n):
2 if n <= 0:
3 return "输入的数值应大于0"
4 elif n == 1:
5 return 0
6 elif n == 2:
7 return 1
8 else:
9 return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
10
11# 示例调用
12print(fibonacci_recursive(10))
2. 循环迭代法 (效率更高)
Python
1def fibonacci_iterative(n):
2 if n <= 0:
3 return []
4 elif n == 1:
5 return [0]
6 elif n == 2:
7 return [0, 1]
8 else:
9 fib_sequence = [0, 1]
10 for _ in range(2, n):
11 fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
12 return fib_sequence[:n]
13
14# 示例获取前10个斐波那契数
15print(fibonacci_iterative(10))