我需要获得给定集合的所有可能组合.例如,给定:[1,4,7],得到的组合应该是:
我尝试使用next_permutation方法,但它不是我想要的(这不会返回像111,144,717等的值).
那么我有什么方法可以用C++做到这一点?请注意,我是一个完整的初学者.
提前致谢.
仔细看看这些数字:你列出的所有数字也可以表示为{11,14,17,41,44,47,71,74,77}列表,前缀为1,一次为4,一次为7这指向一般规则:
具有3个数字集合{1,4,7}的字符串是通过将字符串与2个相同集合的数字一起构建并在该集合的每个元素前面构建的.
在此规则中概括3和2,使用递归实现结果的想法,并且您有一个算法来解决您的问题.
作为C++实现说明,请确保使用字符串而不是整数来表示数字.这个问题不算算,而是与base-10表示紧密耦合.字符串将使您的生活更轻松.