pascal

by tara5

JavaScript

function triangle(n, a, b) {
	if (n === 0) {
		console.log(1);
		return 1;
	}
	
	triangle(n - 1, a, b);
	
	iterateRow(n, a, b);
}

function iterateRow(n, a, b, rowNumber) {
	rowNumber = rowNumber || n;

	if (n === -1) {
		return;
	}
	
	iterateRow(n - 1, a, b, rowNumber);
	
	console.log(getNum(rowNumber - 1, n - 1) + getNum(rowNumber - 1, n)) 
}

function getNum(rowNumber, index) {
	if (index === -1) {
		return 0;
	}
	
	if (index === 0) {
		return 1;
	}
	
	if ((index - rowNumber) === 1) {
		return 0;
	}
	
	return getNum(rowNumber - 1, index - 1) + getNum(rowNumber - 1, index);
}

triangle(5, 0, 0);