1 第1列
1 1 第2列
1 2 1 第3列
1 3 3 1 第4列
1 4 6 4 1 第5列 第一个和最后一个分别是1 第几列就有几个数(不难发现)
略
关系如图所示:
代码如下:
//定义一个二位数组打印10行10列
int arr[10][10] = {0};
//使第一个和最后一个都为1
for (int i = 0; i < 10; i++)
{
arr[i][0] = 1;
arr[i][i] = 1;
}
//除1外其他数等于 上一列同位置数-1 + 上一列同位置数
for (int i = 2; i < 10; i++)
{
for (int j = 1; j < i;j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
//打印
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++) {
if (arr[i][j]!=0)
{
printf("%d\t", arr[i][j]);
}
}
printf("\n");
}
如有侵权请联系我删除,这是本人不会的理解后上传的,可以一起探讨更简单的方法,有的话可以发在评论区,谢谢!