关于VB二维数组选择不重复排列的问题
3*4=14个数组元素:a(-3,0)a(-3,1)a(-3,2)a(-3,3)a(-2,0)a(-2,1)a(-2,2)a(-2,3)a(-1,0)a(-1,1)a(-...
3*4=14个数组元素 :
a(-3,0) a(-3,1) a(-3,2) a(-3,3)
a(-2,0) a(-2,1) a(-2,2) a(-2,3)
a(-1,0) a(-1,1) a(-1,2) a(-1,3)
我要循环打出所有的三个一组的组合
比如:
第一个:a(-3,0) a(-2,1) a(-1,2)
第二个:a(-3,0) a(-2,1) a(-1,3)
第三个:a(-3,0) a(-2,2) a(-1,3)
第四个:a(-3,0) a(-2,2) a(-1,0)
......
每一组中下标不重复
我总共要从80*100的矩阵中找出个数为80个的所有组合形式。 展开
a(-3,0) a(-3,1) a(-3,2) a(-3,3)
a(-2,0) a(-2,1) a(-2,2) a(-2,3)
a(-1,0) a(-1,1) a(-1,2) a(-1,3)
我要循环打出所有的三个一组的组合
比如:
第一个:a(-3,0) a(-2,1) a(-1,2)
第二个:a(-3,0) a(-2,1) a(-1,3)
第三个:a(-3,0) a(-2,2) a(-1,3)
第四个:a(-3,0) a(-2,2) a(-1,0)
......
每一组中下标不重复
我总共要从80*100的矩阵中找出个数为80个的所有组合形式。 展开
2个回答
展开全部
从100个数中取出80个数进行不重复的排列组合,这样的组合总数为:
100 × 99 × 98 × 97 × …… × 22 × 21
这个运算结果有140位数,这是个超级天文数字啊,要知道宇宙的直径如果用米来做单位,也只有20位数啊,要是真把你说的这个数组的所有排列组合列出来,全世界的内存和硬盘的容量加起来也不够用啊!
你可以去自己验证一下啊,比如你题目中说的3*4的数组有24种组合,5*8的数组立刻爆升为6720种,10*16则是290多亿了!
你还要这么做吗?我本来是准备给你写代码的,后来稍微运算了一下,吓了一跳啊有木有!
100 × 99 × 98 × 97 × …… × 22 × 21
这个运算结果有140位数,这是个超级天文数字啊,要知道宇宙的直径如果用米来做单位,也只有20位数啊,要是真把你说的这个数组的所有排列组合列出来,全世界的内存和硬盘的容量加起来也不够用啊!
你可以去自己验证一下啊,比如你题目中说的3*4的数组有24种组合,5*8的数组立刻爆升为6720种,10*16则是290多亿了!
你还要这么做吗?我本来是准备给你写代码的,后来稍微运算了一下,吓了一跳啊有木有!
追问
没有这么多吧,你可能没理解我的意思。
我公司有80个机台(1-80),假设同期有100个订单(1-100)排队等着开机。因为每种机台参数和改订单成本不一样,所以我要把所有可能列出来,然后计算总的效益,选效益最高的。这就是排单计划。比如:第一个机台选择第一个花型,第二个机台选择第二个花型.....,一个机台不可能同时对应两个订单,一个订单也不可能对应两个机台。
追答
那么你可以这样来看:
第1个机台,它的订单选择的可能性是100,这个没疑问吧?
第2个机台,在第1个机台已选定1个订单的情况下,剩下的选择可能性就变为99,这个也能理解吧?
依此类推,到了第80个机台,剩下的选择机会就变为21了,这个只要是小学生都能算出来是吧?
那么,要把所有的不重复的排列组合列出来,不就是
100 × 99 × 98 × 97 × …… × 22 × 21
吗?
就好比6位数的彩票,所有号码的个数为10的6次方,这里是允许数字重复的,如果不允许数字重复,就是10×9×8×7×6×5=151200个。
如果把这6位数的每一位数看作一个机台,就是6个机台,里面的每个数字(从0到9共10个)可以看作是订单号,也就是10个订单,这样排列组合出来,不就是151200个组合吗?
现在把机台数扩大为80台,订单数扩大为100个,你再去算算?
展开全部
你的意思也就是从8000个数据中,找到80个所有的组合形式了?
追问
我公司有80个机台(1-80),假设同期有100个订单(1-100)排队等着开机。因为每种机台参数和改订单成本不一样,所以我要把所有可能列出来,然后计算总的效益,选效益最高的。这就是排单计划。比如:第一个机台选择第一个花型,第二个机台选择第二个花型.....,一个机台不可能同时对应两个订单,一个订单也不可能对应两个机台。
追答
那最后还是会有20个订单没有机台。对吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询