📜  斐波那契系数和斐波那契三角形(1)

📅  最后修改于: 2023-12-03 14:55:03.646000             🧑  作者: Mango

斐波那契数列与斐波那契三角形

什么是斐波那契数列?

斐波那契数列是指:0、1、1、2、3、5、8、13、21、34...... 这个数列从第3项起,每一项都等于前两项之和。即$F_n = F_{n-1} + F_{n-2}$。

斐波那契数列的应用

斐波那契数列在计算机领域中应用广泛,例如:

1. 股票预测

斐波那契数列可用于股票价格的预测。 许多投资者认为,股票价格会在斐波那契数列中的特定位置反弹或突破,因此它们使用斐波那契数列来指导他们的交易决策。

2. 编程

斐波那契数列的应用还包括编程领域,例如搜索算法和排序算法。

什么是斐波那契三角形?

斐波那契三角形是一个由斐波那契数列构成的特殊的数字或几何图形。 它由以下规则形成:

  1. 在底部放置两个“1”。
  2. 在任何一行中,所有的数字都是该行之前的两个数字的和。

下面是一个示例:

                          1
                        1   1
                     1   2   1
                   1   3   3   1
                1   4   6   4   1
             1   5   10   10  5   1
          1   6   15   20  15  6   1
       1   7   21   35  35   21  7   1 
     1   8   28   56  70   56  28  8   1
  1   9   36   84  126  126  84  36  9   1
通过编程生成斐波那契数列

下面是通过编程生成斐波那契数列的 Python 代码,可以自行更换语言:

def fib(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

# 输出第10项以内的斐波那契数列
for i in fib(10):
    print(i)

输出结果:

0
1
1
2
3
5
8
13
21
34
通过编程生成斐波那契三角形

下面是通过编程生成斐波那契三角形的 Python 代码,可以自行更换语言:

def fib_triangle(n):
    fib_list = []
    a, b = 0, 1
    for i in range(n):
        fib_list.append([])
        for j in range(i + 1):
            if j == 0 or j == i:
                fib_list[i].append(1)
            else:
                fib_list[i].append(fib_list[i-1][j-1] + fib_list[i-1][j])
    return fib_list

# 输出前8行斐波那契三角形
n = 8
f = fib_triangle(n)
for i in range(n):
    print(" "*(n-i), end="")
    for j in range(i+1):
        print(f[i][j], end=" ")
    print()

输出结果:

        1 
       1 1 
      1 2 1 
     1 3 3 1 
    1 4 6 4 1 
  1 5 10 10 5 1 
 1 6 15 20 15 6 1 
1 7 21 35 35 21 7 1 

从以上代码中可以看到,我们通过使用嵌套的列表来存储构成斐波那契三角形的数字。 内部列表的长度是它所在的行数,而其值等于这一行中的某个斐波那契数。