100组数据,每次抽6组出来按既定公式计算得出一个结果,将每一种可能的组合都计算一遍,然后对所有的…
100组数据,每次抽6组出来按既定公式计算得出一个结果,将每一种可能的组合都计算一遍,然后对所有的结果按数字大小排序。这个要如何实现啊???...
100组数据,每次抽6组出来按既定公式计算得出一个结果,将每一种可能的组合都计算一遍,然后对所有的结果按数字大小排序。
这个要如何实现啊??? 展开
这个要如何实现啊??? 展开
展开全部
将每一种可能的组合都计算一遍,隐含不能重复计算某一种情况。
全部都计算一遍,可以用6个循环量来代表选择的数据组别, 总循环次数100^6,需要在最内层进行重复数据的判断 .
不重复时,增加到结果数据组里,
如果需要,还要记录不重复数据的数量。
循环嵌套 嫌太多,可以使用二个循环 i=0 to 1000000-1
j= 0 to 1000000-1
每个i按2位分解(刚好范围就是在100内)为3个数组编号 如 123456 代表12,34,56三个选择的数组编号 132465 代表13,24,65三个编号
j分解为后3个数组编号,一共6个。
循环和上面的处理过程一样。
最后对结果进行排序。
全部都计算一遍,可以用6个循环量来代表选择的数据组别, 总循环次数100^6,需要在最内层进行重复数据的判断 .
不重复时,增加到结果数据组里,
如果需要,还要记录不重复数据的数量。
循环嵌套 嫌太多,可以使用二个循环 i=0 to 1000000-1
j= 0 to 1000000-1
每个i按2位分解(刚好范围就是在100内)为3个数组编号 如 123456 代表12,34,56三个选择的数组编号 132465 代表13,24,65三个编号
j分解为后3个数组编号,一共6个。
循环和上面的处理过程一样。
最后对结果进行排序。
更多追问追答
追问
看不太明白:“每个i按2位分解(刚好范围就是在100内)为3个数组编号 如 123456 代表12,34,56三个选择的数组编号 132465 代表13,24,65三个编号”
这里的数组是指VB里的数组吗?这个分解是怎么回事?
追答
两个方案是等价的,就是说 第2个方案 可以由循环量计算出来3个一组的编号,不需要嵌套循环多次。
每个计算都需要6个量,方案1是用了6个循环量
方案2是用2个循环量,分别用这2个量 计算出来6个量
i 从0 到1000000-1
i=123456的那一步 a1=12 a2=34,a3=56 是这个意思
也可以用其他的分解方法,目的是得到6个需要计算的量。
展开全部
随机6次抽出数据,每次循环单独计算一次结果,然后总数组进行排序。
追问
这样会出现部分组合重复的现象
追答
mt_rand,取3分之一,如果同样抛开,虽然搓,但是简单。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以通过VB编程实现,这个问题不是很难
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询