排列组合算法问题
问你个算法的问题啊。ABCDE这几个变量(不一定是5个,动态获取),每个变量有若干个可能的取值(不同的取值也是动态获取的),现在想把这些每个变量的可能取值全部都组合一遍,...
问你个算法的问题啊。
A B C D E 这几个变量(不一定是5个,动态获取),每个变量有若干个可能的取值(不同的取值也是动态获取的),现在想把这些每个变量的可能取值全部都组合一遍,算法最应该怎么写?
举个例子:
A(1,2) B(1,3) C(4,7)可能的取值是
1,1,4 1,1,7 1,3,4 1,3,7......
可以想象是一个二维数组
A:1 2 3 4 5
B:2 3 4 5 6 7 8
C:2 3
D:1 6 9
从ABCD中各选一个,组成一个组合,比如各选第一个就是1221。但是要求写出全部的组合形式,比如这个例子就有5×7×2×3中可能性
但是ABCD等是动态获取的,每个数组有几个取值也是动态获取的。 展开
A B C D E 这几个变量(不一定是5个,动态获取),每个变量有若干个可能的取值(不同的取值也是动态获取的),现在想把这些每个变量的可能取值全部都组合一遍,算法最应该怎么写?
举个例子:
A(1,2) B(1,3) C(4,7)可能的取值是
1,1,4 1,1,7 1,3,4 1,3,7......
可以想象是一个二维数组
A:1 2 3 4 5
B:2 3 4 5 6 7 8
C:2 3
D:1 6 9
从ABCD中各选一个,组成一个组合,比如各选第一个就是1221。但是要求写出全部的组合形式,比如这个例子就有5×7×2×3中可能性
但是ABCD等是动态获取的,每个数组有几个取值也是动态获取的。 展开
1个回答
展开全部
要是有样例输入,样例输出的话,可以给你代码,现在我只能给你讲思路。。
当我从中选出5个(或者更多<=10)的话,怎样将所有的结果显示出来?
明显是用递归。用其中一个参数作为递归层数,或者称之已经选择个数。等于0或者等于选择个数时候返回、输出。
比如我选1,3,5,7,9。 如何编程 把10种结果C(5,3)全部显示出来?
第一种方案是用全局变量的数组记录,一维数组二维数组均可。
第二种方案是最为递归的传递参数,递归边界的时候输出。
另外如何才能剔除掉我选择的结果?
剔除?没理解你这句话的含义。初始化?还是什么。如果递归,新的数据会覆盖原来的数据啊~
所有数据都需要计算机输入的。如何实现?
。。。。。。请给我样例输出和样例输入吧,不要让我猜你给的题目的含义啊~~~~~
当我从中选出5个(或者更多<=10)的话,怎样将所有的结果显示出来?
明显是用递归。用其中一个参数作为递归层数,或者称之已经选择个数。等于0或者等于选择个数时候返回、输出。
比如我选1,3,5,7,9。 如何编程 把10种结果C(5,3)全部显示出来?
第一种方案是用全局变量的数组记录,一维数组二维数组均可。
第二种方案是最为递归的传递参数,递归边界的时候输出。
另外如何才能剔除掉我选择的结果?
剔除?没理解你这句话的含义。初始化?还是什么。如果递归,新的数据会覆盖原来的数据啊~
所有数据都需要计算机输入的。如何实现?
。。。。。。请给我样例输出和样例输入吧,不要让我猜你给的题目的含义啊~~~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询