HLOJ 8002 杨辉三角,用c++代码写出来
时间: 2024-10-29 09:13:23 浏览: 16
杨辉三角是一个经典的组合数学问题,它通常表示为一个三角形形式,其中每个数字都是前两个数字之和。在C++中,我们可以使用动态规划的方式来实现这个算法。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
void printYHT(int n) {
for (int i = 0; i <= n; ++i) {
for (int j = 0; j <= min(i, n - i); ++j) {
cout << factorial(i) / (factorial(j) * factorial(i - j)) << " ";
}
cout << endl;
}
}
// 计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int rows;
cout << "Enter the number of rows: ";
cin >> rows;
printYHT(rows);
return 0;
}
```
在这个代码里,`printYHT`函数用于打印指定行数的杨辉三角,而`factorial`函数则计算阶乘。当你运行这个程序并输入想要的行数,它会按照杨辉三角的规则显示对应的数值。
阅读全文