杨辉三角是南宋杰出数学家杨辉在其著作《详解九章算法》提出的表示二项式展开后的系数构成的三角图形。例如,n=5,则杨辉三角如输出样例所示。输入一个整数n,输出n行的杨辉三角形。用c++写
时间: 2024-09-11 13:05:48 浏览: 96
杨辉三角是一种经典的数学排列方式,它由一系列数字构成,其形状类似于三角形。每一行的两端总是1,而中间的每个数字则是其正上方两个数字之和。杨辉三角不仅在数学上有广泛的应用,还常常用于编程算法的教学中。
下面是一个C++程序,用于输出用户指定行数的杨辉三角形:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 打印杨辉三角的一行
void printRow(const vector<int>& row) {
for (int num : row) {
cout << num << " ";
}
cout << endl;
}
// 生成并打印杨辉三角
void printPascalTriangle(int numRows) {
vector<vector<int>> triangle;
for (int i = 0; i < numRows; ++i) {
vector<int> row(i + 1, 1); // 每一行的第一个和最后一个数字初始化为1
for (int j = 1; j < i; ++j) {
// 中间的数字是上一行的左右两个数字之和
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
triangle.push_back(row);
printRow(row); // 打印当前行
}
}
int main() {
int n;
cout << "请输入杨辉三角的行数: ";
cin >> n;
printPascalTriangle(n);
return 0;
}
```
在这个程序中,我们首先定义了一个`printRow`函数来打印杨辉三角的每一行。然后定义了`printPascalTriangle`函数,它使用一个二维`vector`来存储整个三角形的每一行。我们逐行构建三角形,每一行的第一个和最后一个元素都是1,中间的元素则根据上一行的对应元素相加得到。最后,`main`函数中读取用户输入并调用`printPascalTriangle`函数来输出整个三角形。
阅读全文