16个相同的球,我可以把它们分成两组,三组,或四个组(每组最少两个球,最多14个球)。请问有多少种分法,赐教个公式,谢谢

soarhigh 2004-04-27 03:13:25
16个相同的球,我可以把它们分成两组,三组,或四个组(每组最少两个球,最多14个球)。请问有多少种分法,赐教个公式,谢谢!
比如说我可以把它们分成两组,那么可以是以下几种:
2个和14个,3个和13个,4个和12个,5个和11个,…………
比如说我可以把它们分成三组,那么可以是以下几种:
2个、3个和11个; 2个和4个10个,………………
能给一个公式吗?谢谢!
...全文
882 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liem 2004-04-27
  • 打赏
  • 举报
回复
前面的有错,没有考虑到是“分组”
设将n个相同的球分成m组,每组至少有p个的分组数为l(n,m,p).
令L(n,m)=l(n,m,0),则有l(n,m,p)=L(n-mp,m),因此下面重点考虑L(n,m)
显然当n<0时有L(n,m)=0,且L(0,m)=L(1,m)=1,L(n,1)=1
另外,当m>n时,最多有n个组可以分到球,因此L(n,m)=L(n,n)(m>n)
对于L(n,m),我们可以这样分两种情况考虑:
1)允许有组分配0个,这种分配数有L(n,m-1)种
2)不允许有组分配0个,这种分配数有l(n,m,1)种
因此:
L(n,m)=L(n,m-1)+l(n,m,1)=L(n,m-1)+L(n-m,m)

由上可得:L(n,2)=L(n,1)+L(n-2,2)=....=[n/2]+1([k]是不超过n的整数,最后可得公式:

L(n,m)=0 (n<0)
L(0,m)=L(1,m)=L(n,1)=1
L(n,2)=[n/2]+1
L(n,m)=L(n,m-1)+L(n-m,m)(n>=m)
L(n,m)=L(n,n)(m>n)

找一些简单的进行验证:4个球分3组有(0,0,4)、(0,1,3)、(0,2,2)、(1,1,2)四种
L(4,3)=L(4,2)+L(1,3)=2+1+1=4

楼主的问题:
l(16,2,2)=L(12,2)=6+1=7

l(16,3,2)=L(10,3)=L(10,2)+L(7,3)=6+L(7,2)+L(4,3)
=6+4+L(4,2)+L(1,2)=10+3+1=14

l(16,4,2)=L(8,4)=L(8,3)+L(4,4)
=L(8,2)+L(5,3)+L(4,3)+L(0,4)
=5+L(5,2)+L(2,3)+L(4,2)+L(1,3)+1
=5+3+2+3+1+1=15


soarhigh 2004-04-27
  • 打赏
  • 举报
回复
像楼上说的那样,如果m=2;那还有12个球,要分成两组,该怎么分?
如果用组合的公式显然不对,因为12球个都是相同的,你选一号和三号球为一组,和选四号和六号球为一组,那是一样的。
所以说,除了一一枚举,我还真的是想不出来,盼赐教!
whalefish2001 2004-04-27
  • 打赏
  • 举报
回复
换种分析方法。

有 16球,分成 m 组,每组最少2个,最多 14 个。
那么,也就是,有 16-2m 个球,分成 m 组,在有的组中可以没有球。(最多14个球,在此题中纯属多余,大家的看法呢?)
共有多少中分法呢?
大家会了吗?(如果不会的话,问问高中生怎么做吧)


soarhigh 2004-04-27
  • 打赏
  • 举报
回复
还有关键球是相同的,它的意思就是说,要将四个球分成两组,只有1种分法,可是俺liem的意思好像不是这样考虑的。
soarhigh 2004-04-27
  • 打赏
  • 举报
回复

两位说得都很对,可我的具体问题是,比如说:
当只能分成三组时,如何根据两位提供的公式算出分组数(每组最少两个球,最多14个球)。

当只能分成两组时,一共只有七种情况,可是根据楼上提供的公式算出的结果却不是这样。
还盼进一步赐教!
liem 2004-04-27
  • 打赏
  • 举报
回复
每组至少有2个,我们先分每组2个,然后再分剩下的。
n个球分成m组(每组可以是空的)的分法数:
由于每个球是相同的,因此用n个0表示n个球,分成m组,我们可以在n个0中插入m-1个1表示分组。如n=5,m=3,那么:0010100是一个分组,第一组2个球,第二组1个球,第三组2个球,而0001001也是一个分组,表示第一组3个,第二组2个,第三组没有...
这样n个球分成m组转化为n个0,m-1个1的全排列(有相同元素的全排列),也相当于在n+m-1个位置中确定m-1个位置放1。因此其排法数为:c(n+m-1,m-1)
根据这一算法,楼主的问题也就可以解决了。
wlpwind 2004-04-27
  • 打赏
  • 举报
回复
对不同的分组数分别求解。

假设分n组,问题可以变为 有(16-2n)个球,分成n组,每组最少0个,最多14个,问题变得简单一些。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧