Отладка треугольника Паскаля - PullRequest
0 голосов
/ 12 марта 2019

Может, кто-нибудь подскажет, что я неправильно сделал в Треугольнике Паскаля в Javascript? Я видел поток, который уже существует с использованием рекурсии, однако без точного копирования код, на мой взгляд, выглядит слишком похожим, чтобы понять, что я делаю неправильно. Я мог бы по-новому взглянуть на то, что я пропустил или мог улучшить. Спасибо

var pTri = [[1]]

function pascalTriangle(num, pTri) {

  if (num < 2) {
    return pTri;
  }

  var newRow = [1];
  var lastRow = pTri[pTri.length - 1];

  console.log(lastRow)

  for (var i = 1; i < lastRow.length; i++) {
    var addToNewRow = lastRow[i] + lastRow[i - 1];
    newRow.push(addToNewRow);
    }

  pTri.push(newRow);

 return pascalTriangle(num - 1, pTri);
}

pascalTriangle(2, pTri)

1 Ответ

1 голос
/ 12 марта 2019

Похоже, вы добавили новый массив addToNewRow по ошибке.

var pTri = [[1]]

function pascalTriangle(num, pTri) {

  if (num < 2) {
    return pTri;
  }

  var newRow = [1];
  var lastRow = pTri[pTri.length - 1];

  console.log(lastRow)

  for (var i = 1; i < lastRow.length; i++) {
    newRow[i] = lastRow[i] + lastRow[i - 1];
  }
    
  newRow.push(1);

  pTri.push(newRow);

 return pascalTriangle(num - 1, pTri);
}

pascalTriangle(10, pTri)
...