打印杨辉三角
杨辉三角:是一个无限对称的数字金字塔,从顶部的单个1开始,每行的第一个元素和最后一个元素(肩上只有一个元素)为1,其他元素(肩上都有两个元素)等于肩上两个元素的和。
我们以8层的杨辉三角为例:
n=1:1
n=2:1 1
n=3:1 2 1
n=4:1 3 3 1
n=5:1 4 6 4 1
n=6:1 5 10 10 5 1
n=7:1 6 15 20 15 6 1
n=8:1 7 21 35 35 21 7 1
我们可以观察到第i层有i个元素,第一列元素全为1,每层最后一个元素为1。
代码思路:将8层杨辉三角的各元素放入8*8的二维数组中,再将数组打印。
①先将是1的元素放到对应数组位置:
第一列:arr[i][0], 每层最后一个元素:arr[i][i]
for (i = 0; i < n; i++)//两条斜边上的元素全为1
{
arr[i][0] = 1;
arr[i][i] = 1;
}
②剩下元素都为肩上两元素之和,放入对应数组位置:
剩下元素从第三层、第二列开始
for (i = 2; i