我的代码中有一个错误

时间:2017-02-16 06:25:22

标签: javascript arrays loops

我的代码无效。我正在试图找出错误是什么。有人可以帮忙吗? !它是一个函数,应该返回前n个三角形数字的数组。

例如,listTriangularNumbers(5)返回[1,3,6,10,15]。

  function listTriangularNumbers(n) {
    var num;
    var array = [];
    for (i = 1; i <= n; ++i) {
        num = i;
        for (j = i; j >= 1; --j) {
            num = num + j;
        }
        array.push(num);
    }
    return array;
}

4 个答案:

答案 0 :(得分:1)

@Override public void onBackPressed() { finishAffinity(); } 的初始初始化错误,它从j开始,所以它太高了。同时切换操作员以确保条件有效。

i

答案 1 :(得分:0)

您可以尝试以下代码获取帮助:

&#13;
&#13;
a = listTriangularNumbers(8);
console.log(a);
function listTriangularNumbers(n) {
    var num;
    var array = [0];
    for (i = 1; i <= n; i++) {
        num = 0;
        for (j = 1; j <= i; j++) {
            num = num + j;
        }
        array.push(num);
    }
    return array;
}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

实际上,您不需要2个for循环来执行此操作。单个for循环就足够了。

function listTriangularNumbers(n) {

  // Initialize result array with first element already inserted
  var result = [1];

  // Starting the loop from i=2, we sum the value of i 
  // with the last inserted element in the array.
  // Then we push the result in the array
  for (i = 2; i <= n; i++) {
    result.push(result[result.length - 1] + i);
  }

  // Return the result
  return result;
}

console.log(listTriangularNumbers(5));

答案 3 :(得分:0)

 function listTriangularNumbers(n) {
        var num;
        var array = [];
        for (i = 1; i <= n; ++i) {
            num = i;
            for (j = i-1; j >= 1; --j) {
                num = num + j;
            }
            array.push(num);
        }
        return array;
    }
    var print=listTriangularNumbers(5);
    console.log(print);