📅  最后修改于: 2023-12-03 15:22:09.949000             🧑  作者: Mango
帕斯卡三角形是指将数字排列成类似三角形的形状,具体的规律是每个数字等于它上方两数字之和。比如下面这个例子:
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
函数接受两个参数 row
和 col
,表示在第 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++ 编写计算帕斯卡三角形的程序。