Week 4 Task 2

Memorise this shit

by Ken Wai Ooi

HTML

<div id= "result">
</div>

CSS

th {color: blue;}

.n {color: red}

.factorial {color: green;}

JavaScript

//Compute n! using recursive function
function factorialRecursive (n){
 var value;
 if (n==0){
 value = 1;
 }
 else if (n>0){
  value = factorialRecursive(n-1) * n;
 }
 return value;
}

function factorialIterative (n){
 var value;
 
 if (n >= 0){
     value = 1;
     for(var i=2; i<=n; i++)
      value *= i;
 }
 return value;
}

//Create fucntion to write the result into HTML

function factorialTable(maxN, fact){
 var HTML = "<table>";
 
 //Add the header
 HTML += "<th> n </th>";
 HTML += "<th> n! </th>";
 
 for(var n=0; n<maxN; n++){
 HTML += "<tr>";
 HTML += "<td class='n'> " + n + " </td>";
 var nf = fact(n);
 HTML += "<td class = 'factorial'> " + nf + " </td>";
 HTML += "</tr>";
 }
 HTML += "</table>";
 
 return HTML;
}


var HTML = "<h2> Recursive Solution </h2>";
HTML += factorialTable(10, factorialRecursive);

HTML += "<h2> Iterative Solution </h2>";
HTML += factorialTable(10, factorialIterative);

document.getElementById("result").innerHTML = HTML;