JSFiddle - React, Tailwind, and code Playground

by Adolfo

HTML

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>repl.it</title>
    <link href="index.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <script src="index.js"></script>
  </body>
</html>

JavaScript

var n=20; //número de filas  
//creamos la matriz bidimensional A(n,n)  
var A=new Array(n);  
for (var i=1;i<=n;i++) {  
  A[i] = new Array(n);  
}  
//alimentamos la matriz  
for(i=1;i<=n;i++){  
  for(j=1;j<=i;j++){  
    A[i][j]=combina(i-1,j-1);  
  }  
}  
//función que calcula el número combinatorio p sobre q  
function combina(p,q){  
  return  Math.round(fact(p)/(fact(q)*fact(p-q)));   
}  
//función que calcula el factorial  
function fact(h){  
  var f=1;  
  if (h!==0){  
    for (k=1;k<=h;k++){  
      f*=k;  
    }  
  }  
  return f;  
}  
//creamos la tabla en HTML de forma dinámica con appendChild
function crearTabla(tablaData) {
  var tablita = document.createElement('table');
  var cuerpo = document.createElement('tbody');
  tablaData.forEach(function(rowData) {
    var fila = document.createElement('tr');
    rowData.forEach(function(cellData) {
      var cell = document.createElement('td');
      cell.setAttribute('style','text-align :center;');
      cell.appendChild(document.createTextNode(cellData));
      fila.appendChild(cell);
    });
    cuerpo.appendChild(fila);
  });
  tablita.appendChild(cuerpo);
  document.body.appendChild(tablita);
}
crearTabla(A);