输入在一行中给出N(1≤N≤10)。 输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。C++
时间: 2024-09-14 21:09:38 浏览: 116
杨辉三角是一种数学上的数字排列方式,由法国数学家帕斯卡(Pascal)提出,因此也被称为帕斯卡三角。在杨辉三角中,每行的第一个和最后一个数字是1,其余每个数字是其正上方两数之和。
下面是一个C++程序,它将根据您输入的N值(1≤N≤10),输出前N行的杨辉三角,并且每个数字占固定4位。
```cpp
#include <iostream>
#include <iomanip> // 用于格式化输出
using namespace std;
// 计算组合数 C(n, k)
int combination(int n, int k) {
if (k == 0 || k == n) return 1;
return combination(n - 1, k - 1) + combination(n - 1, k);
}
int main() {
int N;
cin >> N;
for (int i = 0; i < N; ++i) {
// 输出空格以形成正三角形格式
for (int space = 0; space < N - i - 1; ++space) {
cout << setw(4) << " ";
}
// 输出杨辉三角的每一行数字
for (int j = 0; j <= i; ++j) {
cout << setw(4) << combination(i, j);
}
cout << endl; // 换行
}
return 0;
}
```
在这个程序中,我们使用了`combination`函数来计算组合数,这实际上是杨辉三角的每个数字。然后我们使用`setw(4)`来保证每个数字占4个字符的宽度进行输出,以此来形成整齐的三角形。
阅读全文