阿里一道面试题扩展出一道题,高手来解决。

2015-03-29 23:28:19 +08:00
 Static2015

排列组合题:10个相同的糖果,分给三个人,每人至少要得一个,有多少种分法?
使用高中时学的插空法,10个相同的糖,所以不用考每个人手中糖的差异性,10个糖中间9个空,即向9个空中任意放2个板子分开,即C2/9=36;

如果改为:10个相同的糖果,分给三个人,每人至少要得两个,要怎么算?

3287 次点击
所在节点    问与答
17 条回复
ob
2015-03-29 23:31:28 +08:00
我草,还有插空法,学过的东西,都忘光了,惭愧惭愧。。
Static2015
2015-03-29 23:34:43 +08:00
求高手。。。。
chaucerling
2015-03-29 23:38:13 +08:00
减去只得一个,不得的情况
binux
2015-03-29 23:38:57 +08:00
你不会每个人先发够 n 颗糖,再分剩下的吗。。。
fising
2015-03-29 23:40:32 +08:00
每人先分一个。剩下的7颗随便分。
withlqs
2015-03-29 23:42:23 +08:00
相当于4个糖果的插空法
withlqs
2015-03-29 23:43:03 +08:00
哦不 应该是4个糖果随机分给3个人的方案数
ooxxcc
2015-03-29 23:43:34 +08:00
同五楼
fising
2015-03-29 23:43:41 +08:00
@withlqs 为啥是四颗。
withlqs
2015-03-29 23:47:37 +08:00
@fising 因为糖果本身是相同的,那么每人至少两颗的话,这之后的概率是等同的。相当于4颗糖果允许0的插空法,也就是5*6=30种. 没算错的话==
Static2015
2015-03-29 23:48:31 +08:00
@fising 谢谢,,发现自己头脑不灵活了,,高中时经常做这种题
daimao
2015-03-29 23:49:14 +08:00
拓展问题等价于求 x1 + x2 + x3 = 4 的非负整数解的个数

答案是 C(6,2) = 15
withlqs
2015-03-29 23:51:15 +08:00
啊 对忘了除以2 是15种
thinker3
2015-03-30 00:36:03 +08:00
@fising 剩下的7颗每人至少一颗。
66CCFF
2015-03-30 00:49:32 +08:00
依然插空法。
只是变成第一个和最后一个空不能插,且中间不能连续插两个的情况。
C(7,2) - (7-1) = 15
Exin
2015-03-30 08:22:12 +08:00
C(9-3,2)=15
每人先分一个即可。

这题可以编程解么?
jasonding
2015-03-30 13:39:54 +08:00
12吧,就是每人兩個的前提下,剩下4個糖三個人分而已,400情況三種,211情況三種,310情況6種,沒了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/180200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX