我试图制作一个工作程序,它必须遍历给定的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个方面
答案 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