找到存储在数组中的数字组合,并将这些组合存储在另一个数组中

时间:2013-12-10 05:52:02

标签: c++ combinations

我有一个n大小的数组,我想找到k大小的组合。我不只是想打印这些组合,而是想将这些组合存储在其他数组或任何容器中。我读了这个creating all possible k combinations of n items in C++但是无法成功地将组合存储在其他数组中。这是因为我想对这些组合进行操作。我正在寻找任何关于此的提示。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

缺乏选择其他内容的具体原因,您可能希望将结果存储在矢量中。

您可以非常轻松地预先计算结果数量 - 一次取K个N个项目将产生N!/K!(N-K)!个总计组合。

冒着听起来居高临下的风险(我不打算),我会指出N!快速增长非常,因此如果N和K之间的差异非常大,结果可能会比大多数计算机可以合理存储的结果大得多。