Skip to content

代码: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=" ")