打印杨辉三角形c++
时间: 2024-11-30 10:13:23 浏览: 14
数据结构打印杨辉三角形C++
打印杨辉三角形是一个经典的编程问题,它涉及动态规划和控制台输出。杨辉三角是一种数学上的图形,其中每个数字都是其上方两个数字之和,从一个1开始,然后逐行向下递增。下面是使用C++实现的一个简单示例:
```cpp
#include <iostream>
using namespace std;
void printPascalTriangle(int rows) {
for (int i = 0; i < rows; ++i) {
// 行首和行尾的数都是1
cout << 1;
// 每一行除了两端外的每一个数字是上一行相邻两个数字的和
for (int j = 1; j < i; ++j) {
cout << " " << pascal_triangle[i - 1][j - 1]; // 访问上一行的元素
}
// 换行
cout << "\n";
}
}
// 辅助函数,用于存储并获取杨辉三角的值
int pascal_triangle[100][100];
int getCombination(int n, int k) {
if (k == 0 || k == n)
return 1;
else
return pascal_triangle[n][k] + getCombination(n - 1, k - 1) + getCombination(n - 1, k);
}
int main() {
int rows = 5; // 设置想要打印的行数
printPascalTriangle(rows);
return 0;
}
```
在这个例子中,`printPascalTriangle`函数负责生成并打印杨辉三角,而`getCombination`函数则用于计算组合数,这有助于填充三角形的数值部分。注意这个版本使用了一个二维数组`pascal_triangle`来存储每一行的组合值,以便于后续的访问。
阅读全文