【发布时间】:2023-12-05 17:44:01
【问题描述】:
我有一个包含n 成员的数组。我还有另一个号码:m,(m <= n),由用户输入。现在我想在数组中生成所有可能的“m”成员组合。
A[5] = {a,b,c,d,e};
B = 3
Number of combination: C(5, 3) = 10
现在我想要一个代码来显示这 10 个组合。like:
{{a,b,c},{a,b,d},{a,b,e},.....}
排列中的项目顺序很重要。例如{a,b,d} 是正确的,但{b,d,a} 是错误的。排列项应该在我们的矩阵中按顺序排列。
我会从你这边得到任何帮助。提前致谢
【问题讨论】:
-
你想要的不是排列,而是组合(即使我给出的解决方案是 mask 的排列)。
-
是的,因为成员的顺序很重要,所以它是组合而不是 permutation.tnx
-
@shirin 不直接来自您的声明。对于组合,顺序通常无关紧要。你想要的是一个有序组合(它是一组排列的子集)
-
@JoelCornett 我想你可能误解了这个问题。 OP 以
{b,d,a}为例说明不 输出的内容,因为他们想要规范化的形式{a,b,d}。我的解释是,他们想要的正是集合 A 的 m 组合 -
你做了什么?有代码sn-p可以查看吗?你是要我们解决你的作业吗?请把这个问题搁置!
标签: c++ arrays algorithm combinations