c++打印杨辉三角七行
时间: 2024-10-25 08:03:43 浏览: 21
使用python打印十行杨辉三角过程详解
在C++中,打印杨辉三角可以使用动态规划的方式来实现。杨辉三角是一个典型的二维数组问题,每一行都是前一行的组合数。以下是打印7行杨辉三角的一种简单方法:
```cpp
#include <iostream>
using namespace std;
void printPascalTriangle(int n) {
for (int i = 0; i <= n; ++i) {
// 打印空格填充行
for (int j = 0; j < n - i; ++j)
cout << " ";
// 计算并打印当前行的数字
for (int k = 0; k <= i; ++k) {
cout << binomial_coefficient(i, k) << " ";
}
cout << endl;
}
}
// 定义组合数函数(这里使用阶乘公式计算)
int binomial_coefficient(int n, int k) {
return factorial(n) / (factorial(k) * factorial(n - k));
}
// 计算阶乘
int factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int rows = 7;
printPascalTriangle(rows);
return 0;
}
```
这个程序首先定义了一个`printPascalTriangle`函数,然后利用`binomial_coefficient`和`factorial`辅助函数生成并打印每行的杨辉三角数字。注意,实际使用时需安装必要的库支持,因为`factorial`可能会超过整数范围,这里仅为了演示简化版。
当你运行此程序,将会得到前7行的杨辉三角。
阅读全文