【发布时间】:2016-06-27 11:18:12
【问题描述】:
我们如何生成长度从 1 到 n 的 n 个字符的所有可能组合?
例如:如果 n = 4 并且字符是 1,2,3,4 我们需要生成一个数组
1,2,3,4
12,13,14,23,24,34
123, 124, 134, 234
1234
这里 n 是变量,用户可以输入 n 个字符。
【问题讨论】:
-
您始终可以在
k上循环使用nchoosek('1234', k) -
路易斯,谢谢!!它在 matlab 中工作,但我还需要在 cpp 中对其进行编码的算法。我是 matlab 的初学者,所以无法从 matlab 中的源代码中获得足够的功能。
-
如果您在 C++ 中需要它,那完全是一个不同的问题。我建议你用
C++标签重新发布它。此外,人们可能会问您尝试过什么。您应该显示您的代码以及卡在哪里或为什么它不起作用 -
答案here中有一个递归实现
nchoosek。
标签: algorithm matlab loops if-statement combinations