有12组数,每组有0到7个数,所有的数不重复,然后从这12组数中取6个数,每组可以取0到2个数,求所有的排列
问题描述:
有12组数,每组有0到7个数,所有的数不重复,然后从这12组数中取6个数,每组可以取0到2个数,求所有的排列
如:1组:1,2;2组:没有数,3组:3,4,5,6;4组:7,8,9,10,11,12;5组.12组:45,46,显示出所有的组合,不只是计算有多少种,而是编程显示每一种组合.只求算法
答
第一步,把这些数录入12个数组.
第二步,排序函数,参数是六个数字,返回值是一个二维数组,数组的每一元素都是6个数字的一种排列顺序.并在函数执行过程中输出这些数组.
第三步,写个选数函数,在12个数组中选6个数.如果选出的数不重复,并且没有3个或三个以上的数来自同一数组,则调用第二步中的函数,如果不符合情况,就不调用.
第四步,调用选数函数就可以了.