上学期的淘宝的笔试题:卖烧饼的,每个烧饼5元,有16个人,其中8人身上只有一张5元,另外8人身上只有一张10元。每人只买一个烧饼,老板没零钱,问:16个人有几种排队方式,不致使老板会没零钱找?
请说明具体思路和答案。只说:前面5元的人数要多于后面10元的人数,这样的答案就免了
淘宝的笔试题,排列组合类的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- fkuebukn 2010-04-15 14:52关注
能找出钱和找不到出的概率明显不一样:
第一个人有5元和10元的概率各为50%,但是第一个有10元的所有排列一定找不出钱,第一个人有5元的所有排列不一定都能找出钱。楼主的题是一个典型的catalan数题,解法有很多,下举其一:
把有5元的人看作0,有10元的人看作1
16个人所有可能的排列相当于在16个数中任选8个,这8个数为1,其余8个数为0,这样总排列数为 C(8,16)
从第一个数开始,只要前2k+1(k为0~7的整数)个数中1的个数比0多,就一定找不出钱。
在第一次出现1的个数比0多时,此时一定是奇数个,1只比0多一个,将0和1对调,之后出现的数还保持不变,这样所有找不出钱的排列都可以变成9个0和7个1的排列 C(9,16),并且与9个0和7个1的所有可能排列是一一对应的。
那么所有能找出钱的排列数就为 C(8,16) - C(9,16)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥15 stable diffusion
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿