Rise,
 Хотел делать проверки в makeRow (if i===0) и (if i===1) и соответственно возвращать условно говоря duplicate или ново написанный duplicate2 , но Ваш вариант оказался более лаконичен.
   Что касается формулы, можно ли написать функцию для вычисления факториала 
$.fn.factorial=function(i){
            if(i==0 || i==1) 
            	{return 1;}
            else {
            	return(i*factorial(i-1));
            }
        };
и как его следует вызвать здесь? 
this.html(/* по формуле */);