帕斯卡三角形
1、算法说明
帕斯卡三角形又称为杨辉三角,就是下图所示的这种三角形。

2、算法解法
杨辉三角第一行为1,之后的每一行数据个数都相较于下一行+1,且数据的值都是上一行同位置数据加上上一行同位置的前一个数据,以此类推,如第二行的第一个1 = 0+1,第二个1 = 1+0,第三行的第一个1 = 0+1,第二个2 = 1+1,第三个1 = 1+0,也就是上一行的对应位置的数字加上前一个数字。
3、C语言代码
#include <stdio.h>
#define N 12
long combi(int n, int r){
int i;
long p = 1;
for(i = 1; i <= r; i++)
p = p * (n-i+1) / i;
return p;
}
void paint() {
int n, r, t;
for(n = 0; n <= N; n++) {
for(r = 0; r <= n; r++) {
int i;
if(r == 0) {
for(i = 0; i <= (N-n); i++)
printf(" ");
}
else {
printf(" ");
}
printf("%3d", combi(n, r));}
printf("\n");
}
}