杨辉三角


1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

方法:找到特殊情况,再加上规律。

如果用二维数组a来存储上面的数字,列数为0,也就是 a [i] [0]或者是i==j ,a[i][j],此时a[i][j]的值都为1,可以把它看作是特殊情况。

其他数 则是 a[i][j]=  a [i-1][ j-1 ]  +a [i-1] [ j ],例如a[2][1]=2=a[1][0]+a[1][j]=1+1.

找到其中的规律就好办了

打印直接用两个for。

void print(int n)
{
	int arr[10][10] = { 0 };
	for (int i = 0; i <= n-1; i++)
	{
		for (int j = 0; j <= i;j++)
		{
			if (j == i || j == 0)//找到特殊情况直接赋值1
			{
				arr[i][j] = 1;
			}
			else arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}

}

  结果图:

 

posted @ 2024-04-08 13:30  不知名de菜鸟  阅读(22)  评论(0)    收藏  举报