在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 [];
}