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

2024-12-22 19:23:55
推荐回答(4个)
回答1:

可以考虑参考百元百钞问题,算法不是很难,但是很麻烦,42个数如果是要按照一般方法估计计算时间会非常长,如果不需要全部排列的话,可以考虑一下用数据顺序的调换或者无序调换获得一部分排列,但是如果要排列出所有组合需要的时间会比用百元百钞的算法时间还长。。。

回答2:

效率快不了,几个数字就得执行几层循环。数字少还好说,数字多,基本上excel直接卡死!
比较高效的方法是在数据中取随机数。取完一组就与先前取的作比较。如果发现相同,则不输出。全部不相同,则输出。设定需要输出的组数。

回答3:

问题描述不清楚额。42个数据还是42组数据?另外42选21是个啥意思?排列组合是按数值大小还是日期时间,升序还是降序?

回答4:

你确信知道这是一个多大的数么?