我的代码无效。我正在试图找出错误是什么。有人可以帮忙吗? !它是一个函数,应该返回前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;
}
答案 0 :(得分:1)
@Override
public void onBackPressed() {
finishAffinity();
}
的初始初始化错误,它从j
开始,所以它太高了。同时切换操作员以确保条件有效。
i
答案 1 :(得分:0)
您可以尝试以下代码获取帮助:
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;
答案 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);