2017-02-16 2 views
0

코드가 작동하지 않습니다. 나는 그 버그가 무엇인지 알아 내려고하고있다. 누군가 도울 수 있습니까? ! 그것은 첫 번째 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; 
} 
+1

당신은 그것을 작동하지 않습니다 무엇을 의미합니까? 뭐하는거야? 네가하고 싶지 않은게 뭐지? –

답변

1

j 귀하의 초기 초기화는 너무 너무 높은거야 i에서 시작하는 것, 잘못된 것입니다. 또한 운영자를 전환하여 조건이 작동하는지 확인했습니다.

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; 
} 
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; 
 
}

0

. 단일 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)); 
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);

관련 문제