杨辉三角形,又称帕斯卡三角形(Pascal's Triangle),是一个在数学中非常著名的数列,它以一种特定的方式排列数字,每行的数字是上一行相邻两个数字的和。这个三角形的名称来源于中国古代的数学家杨辉,他在《算法统宗》一书中详细描述了这个数列的构造方法。在西方,这个三角形则以法国数学家布莱士·帕斯卡的名字命名。
杨辉三角形的构造规则如下:
1. 第一行只有一个数字1。
2. 从第二行开始,每行的第一个和最后一个数字都是1。
3. 每行中间的数字都是其正上方和左上方两个数字的和。
下面是杨辉三角形的前几行示例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
...
杨辉三角形在组合数学中非常重要,它的每行数字的和是2的幂次方,每一行的数字对应于二项式展开的系数,即\[(a + b)^n\]的展开式中的各项系数。例如,第三行的数字1, 3, 3, 1对应于\[(a + b)^2 = a^2 + 2ab + b^2\]的系数。
问题描述
编写 C 语言程序,输出杨辉三角前十行
输入格式
无要求
输出格式
十行数字
#include<stdio.h>
int main(){
int a[10][10],i,j;
for(i=0;i<10;i++){
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
运行结果如下: