求一个vba在excel里编的排列组合的小程序 30

要求很简单,但计算量大,求一个比较高效的算法,就是给一组数据,总共42个数据(在EXCEL中给出),然后,按照42选21(最好能设置成可选),给出排列组合的结果,考虑到数... 要求很简单,但计算量大,求一个比较高效的算法,就是给一组数据,总共42个数据(在EXCEL中给出),然后,按照42选21(最好能设置成可选),给出排列组合的结果,考虑到数量比较多,最好是按一次给出100组。
42数据比较大,各位大师可以给个小的,比如8选4
展开
 我来答
Defect_moon
2012-10-10
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
可以考虑参考百元百钞问题,算法不是很难,但是很麻烦,42个数如果是要按照一般方法估计计算时间会非常长,如果不需要全部排列的话,可以考虑一下用数据顺序的调换或者无序调换获得一部分排列,但是如果要排列出所有组合需要的时间会比用百元百钞的算法时间还长。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yhhzhengyi
2012-10-10 · TA获得超过477个赞
知道小有建树答主
回答量:1167
采纳率:0%
帮助的人:314万
展开全部
效率快不了,几个数字就得执行几层循环。数字少还好说,数字多,基本上excel直接卡死!
比较高效的方法是在数据中取随机数。取完一组就与先前取的作比较。如果发现相同,则不输出。全部不相同,则输出。设定需要输出的组数。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
itpeng
2012-10-10 · TA获得超过261个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:325万
展开全部
问题描述不清楚额。42个数据还是42组数据?另外42选21是个啥意思?排列组合是按数值大小还是日期时间,升序还是降序?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oaita
2012-10-10 · TA获得超过708个赞
知道小有建树答主
回答量:669
采纳率:100%
帮助的人:807万
展开全部
你确信知道这是一个多大的数么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式