分析
杨辉三角形是一个数学图形,也被称为帕斯卡三角形。它是在中国古代数学家杨辉的著作中最早提出和研究的。杨辉三角形的形状类似一个等腰三角形,由数字排列而成,并且满足以下规律:
- 每一行的两端数字均为1。
- 从第三行开始,除了两端的1以外,每个数等于它上方两个数之和。
- 每一行的数字个数等于它所在的行数。
例如,杨辉三角形的前五行如下所示:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
杨辉三角形有许多有趣的性质和应用,例如它可以用来展示二项式系数、计算组合数等。
思路
杨辉三角是一种数学模式,可以用一个二维数组来表示。每一行的数字都是由上一行的数字相加得到的,左右两边的数字是1。
我们可以使用二维数组来存储杨辉三角的数字。首先,我们需要输入杨辉三角的行数n。然后,我们可以定义一个二维数组triangle,大小为n行n列。
接下来,我们可以使用两个嵌套的循环来遍历数组,并根据杨辉三角的规律来填充数组的值。外层循环控制行数,内层循环控制列数,初始值都为0。
对于每一行的第一列和最后一列,我们将数组中对应位置的值设为1。对于其他位置的元素,我们可以使用上一行的元素来计算。即,当前位置的值等于上一行当前列和上一行前一列的值之和。
关键代码如下:
for(i=0; i<10; i++)
for(j=0; j<10; j++) {
if(i==j||j==0)
triangle[i][j]=1;
else
triangle[i][j]=triangle[i-1][j-1]+triangle[i-1][j];
}
最后,我们可以打印出二维数组中的所有值,得到杨辉三角的样式。
for(i=0; i<10; i++) {
for(j=0; j<10; j++)
if(i>=j)
printf("%d\t",triangle[i][j]);
printf("\n");
}
代码
#include<stdio.h>
void main() {
int triangle[10][10],i,j;
for(i=0; i<10; i++) {
for(j=0; j<10; j++) {
if(i==j||j==0)
triangle[i][j]=1;
else
triangle[i][j]=triangle[i-1][j-1]+triangle[i-1][j];
}
}
for(i=0; i<10; i++) {
for(j=0; j<10; j++)
if(i>=j)
printf("%d\t",triangle[i][j]);
printf("\n");
}
}