二项式乘方展开式的系数存在着一定的规律。约1050年,我国北宋时期的贾宪在其著的《释锁算术》中,使用"贾宪三角"进行高次开方运算的研究。在1261年,我国南宋时期著名数学家杨辉在其著的《详解九章算法》中,引用了使用贾宪的结果,并绘画了"古法七乘方图"来表示二项式乘方展开式的系数,即目前常说的"杨辉三角形"。
杨辉三角形存在特殊的规律,可以用二维数组来进行描述:
(1)第一列的数都是1,a[i][0]=1;
(2)对角线上的个数都是1, a[i][i]=1;
(3)从第三行开始,满足关系a[i][j]=a[i-1][j-1]+a[i-1][j];
现要求输入一个255以内的整数(不要求判断输入的整数),表示杨辉三角形的阶数,格式为%d。输出对应阶数的杨辉三角形,输出格式为%5d,结果参照图1-图5。
提示可以定义容量为255*255的二维数组,然后根据输入的要求进行计算和输出。
#include<stdio.h>
int main()
{
int a[255][255],i,j,num;
scanf("%d",&num);
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
a[i][j]=0;
}
for(i=0;i<num;i++)
a[i][0]=1;
for(i=1;i<num;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<num;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}