Triángulo de Pascal
by José Antonio López Lorenzo
HTML
<p>Escriba el número de filas del triángulo:</p>
<p><input type="text" id="num_filas" value="" /> <input type="button" onclick="iniciar()" value="Escribe tabla" /></p>
<hr />
Triángulo de Pascal
<div id="triangulo"></div>
<hr />
<div id="contadortemporal"></div>
<p><a href="http://jallander.wordpress.com">Jallander en Wordpress</a></p>
JavaScript
function factorial(p) {
f = 1;
for (i = 1; i <= p; i++) {
f *= i;
}
return f;
}
function combinaciones(m, n) {
if (n <= m) {
var dividendo1 = factorial(m);
var divisor1 = factorial(m - n);
var divisor = factorial(n);
var dividendo = dividendo1 / divisor1;
var combinacion = Math.round(dividendo / divisor);
return combinacion;
} else return;
}
function tabla(filas) {
var start = new Date().getTime();
var filas = parseInt(filas);
var texto = "<table border='0' cellspacing='3'";
texto += " style='font-size:11px;font-family:verdana'>";
var valor = 0;
var resultados = [];
texto += "<tr>";
for (i = -1; i < filas; i++) {
if (i == -1) texto += "<td></td>";
else texto += "<td>N:" + i + "</td>";
}
texto += "</tr>";
for (m = 0; m < filas; m++) {
texto += "<tr>";
for (n = 0; n < filas; n++) {
if (n === 0) texto += "<td>M:" + m + "</td>";
texto += "<td style='width:25;";
texto += "text-align:right;border:1px solid grey;padding:5px'>";
if (n <= m) {
valor = combinaciones(m, n);
texto += valor;
} else texto += "";
texto += "</td>";
}
texto += "</tr>";
}
texto += "</table>";
document.getElementById('triangulo').innerHTML = texto;
var finish = new Date().getTime();
var tiempoEmpleado = finish - start;
var textoTiempo = "Tiemplo empleado en el cálculo: <b>" + tiempoEmpleado + " ms</b>";
document.getElementById('contadortemporal').innerHTML = textoTiempo;
}
function iniciar(){
var filas = document.getElementById('num_filas').value;
console.log(filas);
return tabla(filas);
}