常用算法详解——打印杨辉三角形
杨辉三角,是二项式系数在三角形中的一种几何排列。在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。
杨辉三角在编程实现中较为容易,是各种编程语言学习中需要掌握的一个常见的典型算法,该算法可以很好地体现数组与循环的应用。
main函数中定义变量n,存放实际输出的杨辉三角形的行数,利用do-while循环从键盘输入n,n值范围定在1~16,超出这个范围从键盘上重新输入数据。
main函数中以函数语句的形式调用子函数fun,实参为二维数组名a,对应的形参为相同维数相同类型的二维数组t,形参数组t与实参数组a占用相同的内存存贮空间,因此,在fun函数中,对形参数组t赋值,其实也是对实参数组a赋值。所以,fun函数主要是实现求杨辉三角形,而杨辉三角形的输出在main函数中实现。
杨辉三角形是一个n*n方阵的下半三角区域,因此要注意主对角线数组元素的行下标与列下标相等,在求杨辉三角各元素值和输出杨辉三角的每行时,注意列的范围是0到i,而不是0到n-1。
程序运行结果如下:
京东购书,赠送超值礼包