数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3737|回复: 9

求一个算法

[复制链接]
发表于 2004-7-22 18:17:53 | 显示全部楼层 |阅读模式
<>请问各位高人如何可以实现以下算法:</P>
<>有m*n个不同的对象。对这些对象进行分组,n个对象一个组,分成m组。应该怎样编程枚举所有的分组的情况呢?</P>
发表于 2004-7-22 22:06:49 | 显示全部楼层
<>这是m个组合连乘啊,应该不是太难吧.</P>
 楼主| 发表于 2004-7-22 23:12:46 | 显示全部楼层
<>你能不能解释一下呢?</P><>我的意思是说,比如说有[a,b,c,d,e,f]这2*3个对象,任取三个为一组可以有如下20种取法,这是通过组合算出来得:</P><>[[a, b, c], [a, b, d], [a, b, e], [a, b, f], [a, c, d], [a, c, e], [a, c, f], [a, d, e], [a, d, f], [a, e, f], [b, c, d], [b, c, e], [b, c, f], [b, d, e], [b, d, f], [b, e, f], [c, d, e], [c, d, f], [c, e, f], [d, e, f]]</P><P>要按照每组3个对象,分两组就有如下10种分法:</P><P>[a, b, c],[d, e, f]</P><P>[a, b, d],[c, e, f]</P><P>[a, b, e],[c, d, f]</P><P>[a, b, f],[c, d, e]</P><P>[a, c, d],[b, e, f]</P><P>[a, c, e],[b, d, f]</P><P>[a, c, f],[b, d, e]</P><P>[a, d, e],[b, c, f]</P><P>[a, d, f],[b, c, e]</P><P>[a, e, f],[b, c, d]</P><P>就是说,怎样才能枚举以上所有的组合方案</P>
发表于 2004-7-23 04:38:34 | 显示全部楼层
<>对m*n各对象编号[a,b,c,d,e,f] 对应 [1.2.3.4.5.6]</P><> 利用循环解决。</P>
 楼主| 发表于 2004-7-23 05:03:33 | 显示全部楼层
问题就是不知道该怎么循环
发表于 2004-7-23 19:56:03 | 显示全部楼层
<>在编程技巧上可以采用 递归函数 设计,</P><>这样能比较简便的解决此类 枚举问题</P>
 楼主| 发表于 2004-7-25 06:21:18 | 显示全部楼层
能不能具体谈一下怎样递规实现呢?我很着急
发表于 2004-7-26 04:22:04 | 显示全部楼层
<>for a=1:M</P><>for b=1:m</P><>if a==b  continue</P><P>for c=1:m...................</P>
发表于 2004-7-26 05:14:37 | 显示全部楼层
<>举例对于[a,b,c],[d,e,f]中,只要在[a,b,c]中任取一个对象,依次与[d,e,f]中的对象交换就可以得到新的分配方法。</P><>其他也类似!</P>
发表于 2004-7-27 18:45:29 | 显示全部楼层
<>穷举法</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 16:41 , Processed in 0.075646 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表