JSFiddle - React, Tailwind, and code Playground

by Michael Borck

HTML

<div>rFact</div>

JavaScript

function rFact(num)
    {
    if (num === 0)
    { return 1; }
    else
        { return num * rFact( num - 1 ); }
            
    }
        
function sFact(num)
            {
            var rval=1;
            for (var i = 2; i <= num; i++)
                rval = rval * i;
            return rval;
            }
        
var start, end, rTime, sTime;

start = new Date().getTime();

for (var i = 0; i < 10000; i++)
    rFact(100);

end = new Date().getTime();

rTime = end - start;

start = new Date().getTime();

for (var i = 0; i < 10000; i++)
    sFact(100);

end = new Date().getTime();


sTime = end - start;

alert('recursive : ' + rTime + '\nloop : ' + sTime);