有些初學者可能不知道比較大的組合數怎麼求,因爲如果用組合數的定義公式
來求很快就溢出了。
爲了求出更大的組合數可以利用組合數的遞推公式C(n,m)=C(n-1,m-1)+C(n-1,m)
下面給出代碼:
#include<iostream>
using namespace std;
long long C[100][100];
int main()
{
for(int i=1;i<50;++i)
{
C[i][i]=1;
C[i][0]=1;
}
for(int i=1;i<50;++i)
{
for(int j=i+1;j<50;++j)
{
C[j][i]=C[j-1][i-1]+C[j-1][i];
}
}
int m,n;
while(cin>>m>>n)///C(m,n)
{
cout<<C[m][n]<<endl;
}
return 0;
}