杨辉三角形第n层(顶层称第0层,第1行,第n层即第n+1行,此处n为包含0在内的自然数)正好对应于二项式(a+b)^n 展开的系数。例如第二层1 2 1是幂指数为2的二项式(a+b)^2 展开形式a^2 +2ab+b^2
数组解决杨辉三角
#include<stdio.h>
#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<stdio.h>
#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
来源:https://blog.csdn.net/qq_43543178/article/details/102751022