写c++代码输出10行杨辉三角
时间: 2024-10-27 21:10:16 浏览: 66
杨辉三角是一个数学术语,它是一种二项式系数的可视化表示,每个数字由其上方和左上方的两个数字相加得出。下面是使用C++编写的一个简单程序,用于输出前10行的杨辉三角:
```cpp
#include <iostream>
using namespace std;
void printPascalTriangle(int n) {
for (int line = 0; line < n; line++) {
// 输出每行的开头空格
for (int spaces = n - line - 1; spaces > 0; spaces--)
cout << " ";
// 输出当前行的数字
for (int i = 0; i <= line; i++) {
cout << binomial_coefficient(line, i) << " ";
}
cout << endl;
}
}
// 计算组合数(即杨辉三角中的数字)
int binomial_coefficient(int n, int k) {
if (k == 0 || k == n)
return 1;
else
return binomial_coefficient(n - 1, k - 1) + binomial_coefficient(n - 1, k);
}
int main() {
int rows = 10;
printPascalTriangle(rows);
return 0;
}
```
运行此代码将输出前10行的杨辉三角。注意,由于杨辉三角计算的是组合数,这里我们使用递归公式`binomial_coefficient(n, k)`来进行计算。然而,直接递归计算效率较低,实际应用中可能会使用动态规划优化。
阅读全文