if i get it right... written in javaScript this recursive function could be something like this...
version 1 (top level call is Factorial(n,1) ):
function Factorial(n,m) {
if (m>1) {
return Factorial(n, 1) / Factorial(m-1, 1);
} else {
if (n>1) {
return n * Factorial(n-1, 1);
} else {
return 1;
}
}
}
but this - simpler version 2 will also work:
function Factorial(n,m) {
if (n>m) {
return n * Factorial(n-1, m);
} else {
return m;
}
}
version 3 divide and conquer:
function factorial(n, m) {
if (n == m) {
return n;
} else {
if (m > n) {
return 1;
} else {
return factorial(n, Math.round((n+m)/2) ) * factorial( Math.round((n+m)/2)-1 , m);
}
}
}