1
fib = [0,1]
a = 1
b = 0
i = 0
while i < n:
   i = a+b
   a,b = i, a
   fib.append(i)

这适用于“n”(这是给定变量)是实际斐波那契数列中的数字的情况,例如 21 或 13。但是,如果数字类似于 6,则它会增加一个数字。该列表不应包含大于 n 的数字。

4

2 回答 2

4

您总是可以a先添加到列表中,然后再进行递增。

fib = [0]
a, b = 1, 0
while a <= n:
   fib.append(a)
   a,b = a+b, a
于 2013-07-24T01:59:50.343 回答
0

使用经典的 shnazzy 递归斐波那契函数(这让我尝试了几次才能记住并正确):

def fib(num):
    if ((num == 0) or (num == 1)): return 1
    fib_num = fib(num - 1) + fib(num - 2)
    return fib_num

x, n, i = 2, 15, []
while (fib(x) < n):
    i.append(fib(x))
    x += 1
于 2013-07-24T02:13:24.673 回答