组合数对于学c++的人来说不难,杨辉三角是八年级的内容(初二),大学生应该没什么印象(我是小学生),我们先看一下杨辉三角的代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int i,j;
int ans[n+5][n+5];
for (i=0;i<n;i++)
{
for (j=1;j<=i;j++)
{
ans[i][j]=ans[i-1][j-1]+ans[i-1][j];
}
ans[i][0]=ans[i][i]=1;
}
for(i=0;i<n;i++)
{
cout<<"\n";
for(j=0;j<=i;j++)
{
cout<<ans[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
这个代码大家可以看一下,打一打,代码其实不怎么难(真的)
但是如果把杨辉三角应用到组合数中,有些人可能就不明白了,但是它在组合中用处可大了,先看一下定义和公式:
递推关系
C( n,r ) = C(n-1,r) + C(n-1, r-1)
公式证明:
组合意义1:是否包含某个(最后一个)元素。
递推关系---杨辉三角
这个有点难度,可