递归公式为:an = a(n-1) + a(n-2)
可以使用递归方式来解决问题,也可以使用循环方式来解决问题。
递归方式:
def fibonacci(n): if n <= 0: return 0 elif n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2)
循环方式:
def fibonacci(n): if n <= 0: return 0 elif n == 1: return 1 else: a = 0 b = 1 for i in range(2, n+1): c = a + b a = b b = c return b
在这两个函数中,如果输入的n小于等于0,则返回0;如果输入的n等于1,则返回1。否则,在递归的函数中,我们返回第(n-1)个数字和第(n-2)个数字的和,而在循环函数中,我们使用for循环来计算第n个数字。
例如,如果我们想找到斐波那契数列中的第10个数字,我们将使用以下代码:
print(fibonacci(10))
输出结果为55。