Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取一组相加形成一个数字的数字_Javascript_Arrays - Fatal编程技术网

Javascript 获取一组相加形成一个数字的数字

Javascript 获取一组相加形成一个数字的数字,javascript,arrays,Javascript,Arrays,我有一个n=8和k=4的数字 我想把n排列成k的一组,加起来就是n 例如: 假设n=7和k=3,预期结果应该是:{11,5},{1,2,4},{1,3,3},{2,2,3},即(4) n=4和k=2预期结果应为:{2,2},{1,3},即(2) 我试着找一对加起来就是一个数字的。 我想知道如何在不单独求解k的情况下有效地求解它 function answerQuery(n, k) { const items = []; let pairs = 0 for (let i = 1;

我有一个n=8和k=4的数字

我想把n排列成k的一组,加起来就是n

例如: 假设n=7和k=3,预期结果应该是:{11,5},{1,2,4},{1,3,3},{2,2,3},即(4)

n=4和k=2预期结果应为:{2,2},{1,3},即(2)

我试着找一对加起来就是一个数字的。 我想知道如何在不单独求解k的情况下有效地求解它

function answerQuery(n, k) {

  const items = [];

  let pairs = 0

  for (let i = 1; i < n; i++) {
    items.push(i)
  }

  let a = 0;
  let b = items.length - 1;

  while (a <= b) {
    let tmp = items[a] + items[b];

    if (tmp == n) {
      pairs ++
    }
    a++;
    b--;
  }
  return pairs
}
函数应答查询(n,k){
常量项=[];
设对=0
for(设i=1;iwhile(a)在这个函数中,你在哪里使用
k
?我可以用k来检查```如果k=2,它应该执行两个数字的配对,并且对所有发生的k值都执行。我不想要这个。我想要迎合所有发生的k值,而不是对所有发生的k值执行if条件。