📜  C++示例 生成斐波那契三角形(1)

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

生成斐波那契三角形

斐波那契数列是指每个数都是前两个数的和,起始两个数通常是0和1。斐波那契三角形是把斐波那契数列写成三角形的形式,其中第一行只有一个1,每个较大的数字是它正上方和左上方的数字的和。

算法介绍

斐波那契三角形的第n行有n个数字,第一个数字为第n个斐波那契数,第n-1个数字为第n-2个斐波那契数。因此我们可以通过递归的方式计算斐波那契数列,进而生成斐波那契三角形。

C++代码实现
#include <iostream>
using namespace std;

int fibonacci(int n) {
    if (n <= 1) {
        return n;
    } else {
        return fibonacci(n-1) + fibonacci(n-2);
    }
}

void printFibonacciTriangle(int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j <= i; j++) {
            cout << fibonacci(j) << " ";
        }
        cout << endl;
    }
}

int main() {
    int n = 6;   // 生成6行斐波那契三角形
    printFibonacciTriangle(n);
    return 0;
}

首先定义了一个递归函数fibonacci,用于计算斐波那契数列中第n个数的值。之后定义了一个函数printFibonacciTriangle,用于打印斐波那契三角形,其中通过两重循环实现。

在主函数中,首先定义了要生成的行数n,然后调用函数printFibonacciTriangle生成相应行数的斐波那契三角形。

运行结果

以上代码运行结果如下:

1 
1 1 
1 2 3 
1 3 6 10 
1 4 10 20 35 
1 5 15 35 70 126