Hola:
Parece que hay interés en el juego "Pong", así que podemos formalizar el desafío... Espero que se presenten los interesados, y me gustaría que se planteasen las condiciones (no las tengo claras).
Sobre mi propuesta del factorial, ya que no hay interesados voy a mostrar mi resultado:
Código:
function factorial(n) {
function revés(cadena) {
/*
arreglo = cadena.split("");
resultado = "";
while (arreglo.length > 0) resultado += arreglo.pop();
return resultado;
*/
return cadena.split("").reverse().join("");
}
function f(x){
_resultado = "1";
for (i = 2; i <= x; i++) {
_acumulado = "";
_sumar = 0;
for (j = 0; j < _resultado.length; j++) {
_digito = "0123456789".charAt(_resultado[j]) * i + _sumar;
_resto = _digito % 10;
_sumar = parseInt(_digito / 10);
_acumulado += _resto.toString();
}
if (_sumar > 0) _acumulado += revés(_sumar.toString());
_resultado = _acumulado;
}
return revés(_resultado);
}
if (n == 1) return n
// else return n * factorial(n - 1);
else return f(n);
}
Tal vez pueda mejorarse, si alguien cree que puede, también se puede plantear otro desafío.
Saludos