代码:python斐波那契+1
面试题目
- 级别: L1
- 知识模块: Python 编程语言
代码:python 斐波那契+1 (2,2,4,6,10....)
公司
- 小米
招聘类型
社招
题目解析
题目主要考察考生对数列规律的理解、编程逻辑等方面的能力
斐波那契函数原理
递归实现:
def fibonacci_recursive(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
# 测试递归函数
for i in range(10):
print(fibonacci_recursive(i), end=" ")
迭代实现:
def fibonacci_iterative(n):
if n <= 0:
return 0
elif n == 1:
return 1
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
# 测试迭代函数
for i in range(10):
print(fibonacci_iterative(i), end=" ")
答案
编写一个函数,实现斐波那契数列每个数字加 1 的功能。
递归实现:
def fibonacci_recursive(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2) + 1
# 测试递归函数
for i in range(10):
print(fibonacci_recursive(i), end=" ")
迭代实现:
def fibonacci_iterative(n):
if n <= 0:
return 0
elif n == 1:
return 1
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b + 1
# 测试迭代函数
for i in range(10):
print(fibonacci_iterative(i), end=" ")