帕斯卡三角形是向工程学生教授的典型例子之一。 它有很多的解释。 其中一个着名的是它与二项式方程的使用。
三角形之外的所有值都被认为是零(0
)。 第一行为0 1 0
,而只有1
获取帕斯卡三角形中的空格,0
是不可见的。 通过添加(0 + 1
)和(1 + 0
)来获取第二行。 输出夹在两个零之间。 该过程一直持续到达到所需的水平。
Pascal三角形可以使用二项式定理导出。 我们可以使用组合和阶乘来实现这一点。
实现
C语言中弗洛伊德三角形的实现如下 -
#include <stdio.h>
int factorial(int n) {
int f;
for(f = 1; n > 1; n--)
f *= n;
return f;
}
int ncr(int n,int r) {
return factorial(n) / ( factorial(n-r) * factorial(r) );
}
int main() {
int n, i, j;
n = 5;
for(i = 0; i <= n; i++) {
for(j = 0; j <= n-i; j++)
printf(" ");
for(j = 0; j <= i; j++)
printf(" %3d", ncr(i, j));
printf("\n");
}
return 0;
}
执行上面示例代码,得到以下结果 -
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1