题解 P5732 【【深基5.习7】杨辉三角】

· · 题解

入门递推题,就算你不是OIer也该知道的杨辉三角

a[i][j]=a[i-1][j]+a[i-1][j-1]

同时这也是组合数的公式,很重要,因为常规组合数公式是阶乘运算会爆,而这个就不怎么会了

a[i][1] a[i][i]初值1,接下来就可以递推了

``` #include<cstdio> int a[21][21]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) a[i][1]=a[i][i]=1;//赋初值 for(int i=1;i<=n;i++) for(int j=2;j<i;j++)//因为a[i][1]、a[i][i]已经赋值过了,所以循环是2~n-1 a[i][j]=a[i-1][j]+a[i-1][j-1]; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) printf("%d ",a[i][j]); printf("\n"); } } ``` **每一个大牛都有一个微不足道的开始** 可惜我不是![](https://cdn.luogu.org/upload/pic/62023.png)