#Z5008. 实现杨辉三角
实现杨辉三角
#include <iostream>
using namespace std;
typedef long long ll;
const int N = 55;
ll f[N][N];
int main () {
return 0;
}
这一讲我们学习如何实现杨辉三角。
杨辉三角,是二项式系数在三角形中的一种几何排列,在中国南宋数学家杨辉 1261 年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡( 1623----1662 )在 1654 年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟 393 年,比贾宪迟 600 年。
杨辉三角在组合数学中十分实用,是必备技能。
请在主函数中写下接收数据和输出代码:
init();
int n, m;
cin >> n >> m;
cout << f[n][m] << endl;
接下来我们实现init(),我们先构造init()函数。
void init() {
}
这一步我们先两个for循环,分别表示行和列。
请在init()函数中写下:
for (int i = 1; i < N; ++i) {
for(int j = 1; j <= i; ++j) {
}
}
因为这里我们并没有初始化数据,所以我们这里需要再for循环的时候,把数据进行初始化。
我们发现我们只需要初始化第一列数据为 1 就可以了。
请在for(int j = 1; j <= i; ++j) {代码下面写下:
if (j == 1) {
f[i][j] = 1;
}
接下来我们只需要把我们发现的规律写上就可以了。
f[i][j]=f[i−1][j−1]+f[i−1
][j]
请接着上面的代码写下:
else {
f[i][j] = f[i - 1][j - 1] + f[i - 1][j];
}
现在你可运行你的程序,可以查看第三行第三列,杨辉三角的值了。
相信聪明的你,现在一定已经学会了如何实现 杨辉三角 了。