3位 - 非重复排列 - 来自X元素的数组

时间:2015-09-08 13:26:16

标签: c++

我试图制作一个工作程序,它必须遍历给定的X元素数组中的所有3位数排列,并且在每个循环中对所有3位数进行求和并将其与给定数字进行比较,正在应用的下一个规则是:来自给定排列的任何2个数的总和必须>比排列中的第3个数字

我尝试了什么:

for (int q = 0; q < sizeofarray; q++) 

 for (int w = 0; w < sizeofarray; w++) 

  for (int e = 0; e < sizeofarray; e++){

compare_digits_from_permutation_to_given_number

(givennumber,array[q],array[w],array[e]);


}

我的代码绝对不起作用,这只是应该做我要问的事情的部分,但它只对前3个元素进行排列,数组是动态的我也不知道如何做到这一点,任何2个数字的总和必须大于第3个方面

1 个答案:

答案 0 :(得分:0)

由于您将问题标记为C ++,我建议使用内置#include <algorithm> #include <string> #include <iostream> int main() { std::vector<int> v = {1,2,3} do { compare_digits_from_permutation_to_given_number(givennumber,v[0],v[1],v[2]); } while(std::next_permutation(v.begin(), v.end())); }

DataTable