杨辉三角形是我国古代数学家杨辉揭示二项展开式各项系数的数字三角形,如下图给出了7阶杨辉三角形,请编写程序,构造并输出n(n<=20)阶杨辉三角形。要求分别给出算法伪代码和C++源代码、以及运行结果。
时间: 2024-09-28 17:09:24 浏览: 66
杨辉三角是利用递归或者动态规划的方式来构建的。下面是一个简单的算法伪代码和C++实现:
**伪代码示例:**
```python
function printPascalTriangle(n):
triangle = [[1]]
for i in range(1, n):
row = [1]
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
row.append(1)
triangle.append(row)
for row in triangle:
print(row)
printPascalTriangle(n) // 替换n为你需要的阶数
```
**C++源代码示例:**
```cpp
#include <iostream>
using namespace std;
void printPascalTriangle(int n) {
vector<vector<int>> triangle(n + 1, vector<int>(n + 1));
triangle[0][0] = 1;
for (int i = 1; i <= n; ++i) {
triangle[i][0] = 1;
triangle[i][i] = 1;
for (int j = 1; j < i; ++j) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
for (const auto &row : triangle) {
for (int num : row) {
cout << num << ' ';
}
cout << endl;
}
}
int main() {
int n = 7; // 或者设置为你想打印的阶数
printPascalTriangle(n);
return 0;
}
```
运行结果(假设n=7):
```
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
```
这个C++代码首先创建了一个二维数组表示杨辉三角,然后填充每一行的元素,最后按行打印出来。每一行都是前一行的两个相邻元素之和。
阅读全文