杨辉三角,是在三角形中的一种几何排列。它是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。
上面是一个7行的杨辉三角,我们能发现它的规律有:
- 每一行的首、末位数都是1。
- 每一个数是它的左上方和右上方的数的和。如第5行的6就是它上面的两个数3和3的和。
- 每一行的数的个数和它对应的行数一致。如第7行有7个数。
我们也要像上面一样,给定一个行数,打印它的分布情况。根据上面的规律:
- 我们需要定义一个二维数组,放置每一行的元素;
- 用两层循环把每一个值按照顺序存进数组,每一行的首、末元素单独赋值成1;
- 中间的元素就等于上一行下标相同的那个元素加上它前一个元素;比如第4行的第一个3的下标是[3][1],那么它是下标为[2][0]和[2][1]两个元素的和。
#include//杨辉三角 void Pascals_Triangle(int n) { int arr[n][n] = {0}; //为每一行赋值 for (int i = 0; i < n; i++) { //为每一行的元素赋值 for (int j = 0; j <= i; j++) { //初始化行首、行末的元素 if (j == 0 || j == i) { arr[i][j] = 1; continue; } arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; } } //打印 for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { printf("%d ",arr[i][j]); } printf("n"); } } int main() { int input = 0; scanf("%d",&input); Pascals_Triangle(); return 0; }
输出结果:



