logoExtra: script.factorial

Descripción: Resolución del factorial.


A continuación mostramos los apuntes asociados a este extra:

Desafío javascript: 100!
En los foros del web se ha planteado hacer nuevos desafíos entre los cuales, una de mis propuestas era obtener el número 100!. Pero el resultado debe ser de todos sus dígitos (no vale la notación científica).
// Descripción para sindicación:
/*
    [rss]Resolución del factorial.[/rss]
*/
function factorial(n)    {

    function revés(x)    {
    /*
        xx = x.split("");
        r = "";
        while (xx.length > 0) r += xx.pop();
        return r;
    */
        return x.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);
}

function factorial_recursivo(n) {
    if (n == 1) return n
    else return n * factorial_recursivo(n - 1);
}

Este código ha sido leído en 40 ocasiones.

Zona de comentarios

Esta extra aún no tiene comentarios.

Evaluación

Valoración de esta página: (extra.script.factorial) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Listados: imágenes, categorías, etiquetas, extras | Anuarios: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 | Otros enlaces: buscador