Ejemplos

Factorial
Cuando se nos pide en una clase introductoria o cualquiera otra clase de programación, pues en una de ellas se nos pide que programemos el algoritmo que resuelve el factorial de un número.
Bueno sabemos que le factorial de un número se define de la siguiente manera, como la multiplicación de un número empezando desde la unidad hasta dicho numero es decir:
Si tenemos n = 3; entonces multiplicamos así: 1*2*3 = 6 Por lo tanto factorial de 3 es 6.
Si tenemos n = 5; 1*2*3*4*5, de donde tenemos que él factorial de 5 es 120, y asi; como te habrás dado cuenta no es complicado
Veamos una solución:


public class Factorial {
    public static void main(String []DheeyReck){
        int n=5;
        System.out.print("Factorial de "+n+" es :"+Factorial(n));
    }
    public static int Factorial(int n) {
        int f=1;
        for(int i=1;i<=n;i++)
            f=f*i;
        return f;
    }
}


Como nos dimos cuenta es un programa que corre, pero hagamos la prueba con números más grandes veamos un n=100 y notemos lo que ocurre, (ir al proyecto) lo que ocurre es que nuestro n es bastante grande y provoca error; para el factorial de n=100 es 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000, date cuenta varios dígitos; entonces que hacemos; lo que debemos hacer es utilizar otro tipo de dato es decir cambiar el int por un BigInteger y ahora si no tendrás problemas, veamos una solución:


public class Factorial_BigInteger {
    public static void main(String []DheeyReck){
        int n=100;
        System.out.print("Factorial de "+n+" es :"+Factorial(n));
    }


    private static BigInteger Factorial(int n) {
        BigInteger f=BigInteger.ONE;
        for(int i=1;i<=n;i++)
            f=f.multiply(BigInteger.valueOf(i));
        return f;
    }
}
Y bien si corrió sin  problemas; en ambas soluciones si utiliza una misma lógica para no variar mucho los cambios.


Si tienes algún problema no te corre u otra cosa, tan solo hacernos llegar tu duda tu critica, tus comentarios y te responderemos, ahora y se quieres saber cómo funciona el BigInteger pues mándanos un mensaje y te responderemos también.
Bien eso fue todo en cuanto a este post de Factorial, nos vemos y no olvides buscarnos en Facebook que ahí estamos Soluciones DheeyReck. A ha me olvidaba recuerda recomendarnos.

Deseas hacer comentarios Click Aqui

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Inforsis - William | Diseño de Logotipos Press Aqui Plantillas |Hosted Desktop