📅  最后修改于: 2023-12-03 15:22:04.506000             🧑  作者: Mango
斐波那契数列是一个非常经典的数列,它的定义如下:
斐波那契数列的前几项为:0、1、1、2、3、5、8、13、21、34……
这里介绍如何以相反的顺序打印斐波那契数列。
一般情况下,我们可以用递归或者循环来生成斐波那契数列。
以递归方式生成斐波那契数列的代码如下:
def fib(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)
以循环方式生成斐波那契数列的代码如下:
def fib(n):
if n < 2:
return n
a, b = 0, 1
for _ in range(n - 1):
a, b = b, a + b
return b
以上两种方式都是按正序生成斐波那契数列的方法。对于本题,我们需要将生成的数列逆序输出。那么,最简单的方法是先生成正序的斐波那契数列,再将其逆序输出即可。代码如下:
def print_fib_reverse(n):
fib_list = [fib(i) for i in range(n)]
fib_list.reverse()
print(fib_list)
在这个代码中,我们先生成了长度为 n 的正序斐波那契数列,然后通过 reverse()
方法将其逆序输出。
本文介绍了如何以相反的顺序打印斐波那契数列。我们先通过递归或者循环的方式生成正序的斐波那契数列,然后将其逆序输出即可。对于本题来说,这是最简单也是最直观的解法。