C++ L18 杨辉三角形 C++
时间: 2024-08-15 22:08:47 浏览: 55
C++ L18杨辉三角形通常是指基于C++编程实现的斐波那契数列的一种可视化形式,它是一个以数字形成的金字塔形状,每一行的每个位置的数字等于其上方两行相应位置数字之和。这种结构与数学中的二项式系数相关,也可以用于动态规划等算法的学习。
在C++中,你可以使用数组或二维向量来存储这个三角形,并通过迭代的方式填充每一层。下面是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
std::vector<std::vector<int>> generatePascalTriangle(int rows) {
std::vector<std::vector<int>> triangle(rows, std::vector<int>(rows, 0));
for (int i = 0; i < rows; ++i) {
for (int j = 0; j <= i; ++j) {
if (j == 0 || j == i) {
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
}
return triangle;
}
void printTriangle(const std::vector<std::vector<int>>& triangle) {
for (const auto& row : triangle) {
for (int num : row) {
std::cout << num << ' ';
}
std::cout << '\n';
}
}
int main() {
int rows = 5;
std::vector<std::vector<int>> pascalTriangle = generatePascalTriangle(rows);
printTriangle(pascalTriangle);
return 0;
}
```
在这个例子中,`generatePascalTriangle`函数生成给定行数的杨辉三角,`printTriangle`则用于打印出来。运行`main`函数,会看到一个5行的杨辉三角形。
阅读全文