/* Recursive */ function fact_r(n) { if ( n <= 1 ) return 1; return n*fact_r(n-1); } /* Iterative */ function fact(n) { if ( n < 1 ) return 1; r = 1 for(m = 2; m <= n; m++) { r *= m; } return r }