C语言实现打印杨辉三角的方法详细(三种方法) | 您所在的位置:网站首页 › 打印输出杨辉三角 › C语言实现打印杨辉三角的方法详细(三种方法) |
目录题目描述问题分析1. 使用数组法(打印直角三角)2. 使用数组法(打印等腰三角)3. 使用公式法(打印等腰三角)网上参考题目描述
打印杨辉三角(前N行) 问题分析杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。 杨辉三角的部分规律: 每个数等于它上方两数之和。每行数字左右对称,由1开始逐渐变大。第n行的数字有n项。第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。根据前三个规律,我们可以使用数组法获取杨辉三角;根据后两个规律,我们可以使用公式法求出每行每列的数字。 数组法思路:先根据设定的行数定义一个二维数组,然后使用一个双层循环,外层循环的因数为杨辉三角的行数,内层循环用来将杨辉三角每行的数字存入数组。每行第一列和最后一列都是1,中间的数字等于它上方两数之和。 最后再通过两层循环将二维数组中的数字打印。 公式法思路:由于杨辉三角满足上面提到的第4点规律,所以我们可以直接定义一个函数求出杨辉三角第n行的m个数的值。 组合数公式 根据上面这个组合的公式,我们可以使用阶乘及相关计算,求出杨辉三角形的每个数,同时打印出来。 1. 使用数组法(打印直角三角)打印直角形式的杨辉三角形,即打印二维数组时不加空格 代码 #include #define LINE_MAXIMUM 10 //行数 int main() { int i = 0, j = 0; int array[LINE_MAXIMUM][LINE_MAXIMUM] = {0}; /* 填充二维数组 */ for(i = 0; i < LINE_MAXIMUM; i++) //行数 { for(j = 0; j |
CopyRight 2018-2019 实验室设备网 版权所有 |