从n个人中选择k个人的选法
来源:互联网 发布:淘宝买家秀的福利网盘 编辑:程序博客网 时间:2024/05/21 01:47
题目
从n个人中选选k个人组成一个委员会的不同组合数。
解答
分析
从n-1个人到n个人,增加一个人,这个人可能被选中,也可能不被选中。若第n个人被选中则是从n-1个人中选择k-1个人,若第n个人没被选中,则是从n-1个人中选择k个人。即得以下公式:
由n个人里选k个人的组合数= 由n-1个人里选k个人的组合数+由n-1个人里选k-1个人的组合数;
递归法得出推导公式:
F(n,0) = 1;
F(n,k=n)=1;
F(n,k) = F(n-1,k)+F(n-1,k-1)
代码
C++语言代码实现
int getKfromN(int n ,int k){ if(n<k){ return 0; }else if(n==k || k==0){ return 1; }else{ return getKfromN(n-1,k-1)+getKfromN(n-1,k); }}
0 0
- 从n个人中选择k个人的选法
- 递归法计算从n个人中选选k个人组成一个委员会的不同组合数
- 从N个人中每数m个人就退出该人的一类笔试题
- n个灯,k个人的开灯问题
- 合唱队,对n个人挑出n-k个人,剩下k个人排成合唱队
- (程序员面试宝典)已知n个人围坐在一张圆桌旁,从编号为k的人开始..................
- 三个人的选择
- 用败者树从N个数中选择最大的k个数字
- foj2200 n个人的环取k人且任意两个人的距离不能为2的方法数
- Hdu 4807 Lunch Time(最小费用最大流的巧妙运用,k个人从0到n-1所需的最少时间)
- 有趣的题目“求N个人中,有至少2个人同一生日的概率”
- Linux个人发展方向的选择
- 设有n个人围成一圈,从第一个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数...
- n个不同的东西分给k个人,共有多少种分法
- 组合数学之把n个不同的东西分给k个人,共有多少种分法
- 约瑟夫问题:n个人围成一圈从1开始报号,报到m的出圈,直到最后1个人。
- n个人围成一圈,从第1个人开始报数,每报到第m个人,则其出局,求最后出局的人的初始序号
- n个人中每m个出队一次
- 第7周-项目1-实现复数类中的运算符重载-类的友元函数
- Djkstra
- 最短路
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
- 安装Ubuntu 16.04后要做的事
- 从n个人中选择k个人的选法
- 一个人的旅行
- 数据挖掘、机器学习、自然语言处理
- 开通博客
- 穿越人海——改变
- C#中数组的三种访问方式
- 敏捷架构: 可自适应变化
- Android开发中常用的工具类整理
- 黑马程序员——java编程练习题