[练习] 求组合数
C(m,n)
从m个中取出n个,问一共有多少种情况。
代码:
#include <iostream> using namespace std; int c(int m,int n) { if(n==0) return 1; if(m<n) return 0; return c(m-1,n)+c(m-1,n-1); } int cc(int m,int n) { int cmn=1; for(int i=0;i<n;i++) { cmn=cmn*(m-i)/(i+1); } return cmn; } int main() { cout<<c(5,4)<<endl; cout<<c(5,3)<<endl; cout<<cc(5,4)<<endl; cout<<cc(5,3)<<endl; return 0; }