📜  使用 c++ 的帕斯卡三角形(1)

📅  最后修改于: 2023-12-03 15:22:09.949000             🧑  作者: Mango

使用 C++ 的帕斯卡三角形

帕斯卡三角形是指将数字排列成类似三角形的形状,具体的规律是每个数字等于它上方两数字之和。比如下面这个例子:

            1
         1     1
      1     2     1
   1     3     3     1
1     4     6     4     1

使用 C++ 编写计算帕斯卡三角形的程序非常简单。以下是一种使用递归方法计算帕斯卡三角形的 C++ 代码:

#include <iostream>

using namespace std;

int pascalTriangle(int row, int col) {
    if (col == 0 || col == row) {
        return 1;
    } else {
        return pascalTriangle(row - 1, col - 1) + pascalTriangle(row - 1, col);
    }
}

int main() {
    int numRows;
    cout << "Enter the number of rows to generate: ";
    cin >> numRows;
    for (int i = 0; i < numRows; i++) {
        for (int j = 0; j <= i; j++) {
            cout << pascalTriangle(i, j) << " ";
        }
        cout << endl;
    }
    return 0;
}

该程序使用递归方法计算帕斯卡三角形。pascalTriangle 函数接受两个参数 rowcol,表示在第 row 行和第 col 列的数字。如果 col 等于 0 或者等于 row,则返回 1;否则,返回 pascalTriangle(row - 1, col - 1) + pascalTriangle(row - 1, col)main 函数中,程序先接受用户输入的行数 numRows,然后在外循环中迭代每一行,内循环中迭代该行每一列,并调用 pascalTriangle 函数计算并输出该位置的数字。

该程序的输出如下:

Enter the number of rows to generate: 6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

上述 C++ 代码可以通过以下命令编译:

$ g++ pascal_triangle.cpp -o pascal_triangle

然后运行生成的可执行文件:

$ ./pascal_triangle

至此,您已经学会如何使用 C++ 编写计算帕斯卡三角形的程序。