题目
计算从n个人中选k个人的不同组合数
分析
C(n,k) = C(n-,k) + C(n-1,k-1)
n=k或者k=0时组合数为1
Code
#include <iostream>
using namespace std;
int comm(int n,int k){
if(k > n)
return 0;
else if(n == k||k==0)
return 1;
else
return comm(n-1,k) + comm(n-1,k-1);
}
int main(){
int n,k;
cout<<"Input the n and k:";
cin>>n>>k;
cout<<"C(n,k) = "<<comm(n,k)<<endl;
return 0;
}
本文介绍了一个递归算法,用于计算从n个人中选择k个人的所有不同组合数。通过使用递归公式C(n,k)=C(n-1,k)+C(n-1,k-1),该算法能够有效地解决问题,并给出了完整的C++实现代码。

1311

被折叠的 条评论
为什么被折叠?



