在javascript中,我得到了两个数字,我们称它们为x&y和一个随机数组,其整数为0-10 arrayints。

x是我试图通过将y与arrayints中的任何数字组合而得到的数字。


  例如:假设x = 8和y = 3且arrayints由数字arrayints(1,7,2,7,4,5)组成


所以x可以等于= y + 5
要么
x = y + 1 + 4

x,y和arrayints中的所有值都是随机的,并且总是
请告知是否需要更多信息,就我的代码而言,一切都将在javascript或jquery中进行,我将进行复制和粘贴,但这只是一堆难以理解的字母,这让我头疼。

function makex(x,y) {
//this is how I get the array of random ints <=10
  $("#div").children().each(function(n, i) {
    var id = parseInt(this.id+"");
  });
 }

最佳答案

这是一个递归解决方案,它返回一个包含x的整数数组,包括y(如果不存在,则返回一个空数组)。如果要排除y,请随时为此做包装。

function make(x, y, intOptions) {
    var z = x - y
    if (intOptions.indexOf(z) !== -1) {
        return [y, z];
    } else if (intOptions.length > 1){
        var i = intOptions.length;
        var ans;
        while (i--) {
            ans = make(z, intOptions[i], intOptions.slice(0, i))
            if (ans.length) {
                return [y].concat(ans);
            }
        }
    }
    return [];
}

09-17 09:25