杨辉三角形

杨辉三角形_第1张图片

杨辉三角形第n层(顶层称第0层,第1行,第n层即第n+1行,此处n为包含0在内的自然数)正好对应于二项式(a+b)^n 展开的系数。例如第二层1 2 1是幂指数为2的二项式(a+b)^2 展开形式a^2 +2ab+b^2

数组解决杨辉三角

#include
#define ROW 10
void yangHui()
{
	int arr[ROW][ROW];
	int i;
	int j;
	for(i=0;i<ROW;i++)
	{
		for(j=0;j<=i;j++)
		{
			if(j==0||i==j)
			{
				arr[i][j]=1;
			}
			else
			{
				arr[i][j]=arr[i-1][j-1]+arr[i-1][j];				
			}			
		}
	}
	
	for(int i=0;i<ROW;i++)
	{		
		for(int j=0;j<=i;j++)
		{
			printf("%-3d ",arr[i][j]);
		}
		printf("\n");		
	}
	
}
 int main()
 {
 	yangHui();
 } 

不用数组来解决杨辉三角问题

#include
#define ROW 10
void yangHui()
{
	int iMul;
	for(int i=0;i<ROW;i++)
	{
		iMul=1;
		for(int j=0;j<=i;j++)
		{
			printf("%d ",iMul);
			iMul=iMul*(i-j)/(j+1);
		}
		printf("\n");
	}
	
}
 int main()
 {
 	yangHui();
 }

方案二思想参考:https://blog.csdn.net/m0_37068073/article/details/81459537

你可能感兴趣的:(每日一题)