如何在c ++中获得在无限数组中添加两个索引的所有可能性

时间:2017-12-06 04:56:55

标签: c++ arrays

好的,所以我正在学习c ++而且我在语言中难以理解。好的,我说我有一个无限的列表,我想弄清楚所有可能的添加。 EX [1,2,3] = 1 + 2,1 + 3 + 2 + 1,2 + 3,3 + 1,3 + 2 ....它会有一个如此巨大的列表,我无法将每个特定的索引都放在那里。 这是我想的想法,但没有用

bool sum(){
int b[] = {1, 5, 3, 9};
int n;
int equation;
    for(n = 0; n < 4; ++n){
        equation = Array[n] + Array [n+1 || n +2 || n+3 || n+4];
    if(equation == 10){
        return true;
}

   }
    return false;
    }

我发誓,如果我觉得我错过了一个方程式,或者它就在我的鼻子底下。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您希望使用嵌套的for循环。

逻辑如下:对于b中的每个元素,还要检查b中的每个元素,看看总和是否加起来为10。

for (size_t i = 0; i < sizeof(b); ++i){ //.length returns syntax error with //arrays
    for (size_t j = 0; j < sizeof(b); ++j){// same as previously stated
        if (i == j) continue;    //So that you don't add the number to itself

        if (b[i] + b[j] == 10){
            return true;
        }
    }
}
return false

输出:

1

我们知道一个是真的所以我们知道这解决了问题