進入正題:眾所周知,楊輝三角形(也稱“帕斯卡三角形”,后同)長這樣↓
即每一項等於左上方的數加右上方的數的和
學編程的人一般看作這樣↓
即每一項等於左上方的數與上方的數之和。
寫個簡單的遞推式。
#include<stdio.h> const int maxn=1e4+5; int f[maxn],n; int main(){ scanf("%d",&n);f[1][1]=1; for(int i=2;i<=n;i++) for(int j=1;j<=i;j++) f[i][j]=f[i-1][j-1]+f[i-1][j]; for(int i=1;i<=n;i++) for(int j=1;j<=i;j++) printf("%3d%c",f[i][j],j==i?'\n':' '); return 0; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
楊輝三角長啥樣都知道了,那它與組合數有啥關系呢?
關系:C n m C^m_nCnm的值等於楊輝三角形第n行第m個數
遞推公式:C n m = C n − 1 m − 1 + C n − 1 m C^m_n=C^{m-1}_{n-1}+C^{m}_{n-1}Cnm=Cn−1m−1+Cn−1m
關系可以由遞推公式得到。
轉載 原創: https://blog.csdn.net/weixin_36171392/article/details/102251204