题目描述
杨辉三角形也叫贾宪三角形,西方叫帕斯卡三角形,其实就是各阶二项式系数排列起来构成的三角形,如下。每行的数字实际上是(a + b) ^ n展开后的各项系数。如下图为杨辉三角的前5行。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
历史上发现这个三角形的人很多,这里介绍几个主要的,北宋人贾宪约1050年首先使用“贾宪三角”进行高次开方运算。杨辉,字谦光,南宋时期杭州人。在他1261年所著的《详解九章算法》一书中,辑录了如上所示的三角形数表,称之为“开方作法本源”图。欧洲直到1623年以后,法国数学家帕斯卡在13岁时发现了“帕斯卡三角”。
现在,请你编程输出杨辉三角形的前N行。
输入格式
输入只有一行,为一个不大于20的正整数N。
输出格式
输出杨辉三角形的前N行。每一行相邻两个整数之间只有一个空格,最后一个数之后没有多余的空格。
样例
样例输入1
5
样例输出1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include <bits/stdc++.h>
using namespace std;
int num[25][25] = { 1 };
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
num[i][j] = num[i - 1][j] + num[i - 1][j - 1];
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
cout << num[i][j];
if (j < i) {
cout << " ";
}
}
cout << endl;
}
return 0;
}