JSFiddle - React, Tailwind, and code Playground

HTML

<table id="calc">
    <tr><th>n</th>
        <th>n<sup>2</sup></th>
        <th>n<sup>5</sup> + 9000</th>
        <th>2<sup>n</sup></th>
    </tr>
</table>

CSS

table {border-collapse:collapse;}
td {border:solid #000 1px; padding:2px;}

JavaScript

var n=1;
var table = document.getElementById("calc");
for (var n=1; n<40; n++)
{
    var tr=document.createElement("tr");
    var td=document.createElement("td");
    td.appendChild(document.createTextNode(n));
    tr.appendChild(td);
    var td=document.createElement("td");
    td.appendChild(document.createTextNode(formatNumber(Math.pow(n,2),0,',')));
    tr.appendChild(td);
    var td=document.createElement("td");
    td.appendChild(document.createTextNode(formatNumber(Math.pow(n,5)+9000,0,',')));
    tr.appendChild(td);
    var td=document.createElement("td");
    td.appendChild(document.createTextNode(formatNumber(Math.pow(2,n),0,',')));
    if (Math.pow(2,n) > Math.pow(n,2))
    {
        td.setAttribute("style","background:#FF0;");
    }
    else
    {
        td.setAttribute("style","background:#F66;");
    }
    if (Math.pow(2,n) > (Math.pow(n,5)+9000))
    {
        td.setAttribute("style","background:#0F0;");
    }
    tr.appendChild(td);
    table.appendChild(tr);
}

function formatNumber(n, p, ts, dp) {
  var t = [];
  // Get arguments, set defaults
  if (typeof p  == 'undefined') p  = 2;
  if (typeof ts == 'undefined') ts = ',';
  if (typeof dp == 'undefined') dp = '.';

  // Get number and decimal part of n
  n = Number(n).toFixed(p).split('.');

  // Add thousands separator and decimal point (if requied):
  for (var iLen = n[0].length, i = iLen? iLen % 3 || 3 : 0, j = 0; i <= iLen; i+=3) {
    t.push(n[0].substring(j, i));
    j = i;
  }
  // Insert separators and return result
  return t.join(ts) + (n[1]? dp + n[1] : '');
}