Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/02/2015, 11:33
sixtoex
 
Fecha de Ingreso: noviembre-2014
Mensajes: 34
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: [Ayuda]Factorial suma dígitos

Ya lo solucione amigos, casi te pido el código pero me puse y mira, al final lo conseguí:

i
Código Java:
Ver original
  1. import java.math.BigInteger;
  2. public class prueba
  3. {
  4.     public static void main(String[] args) {
  5.         int valor = 1;
  6.         BigInteger b1 = new BigInteger("1");
  7.     int NumeroFin = 0;
  8.     int FinalNumero = 0;
  9.     String NumeroFinCadena = "";
  10.      //15511210043330985984000000                              // 2432902008176640000
  11.         long fin = 100;
  12.     BigInteger Sumatorio = new BigInteger("1");
  13.     BigInteger Contador = new BigInteger("1");
  14.     for(int i = 1; i <= fin;i++){
  15.     b1 = b1.multiply(Sumatorio);
  16.     Sumatorio = Sumatorio.add(Contador);
  17.     if(i == fin){
  18.     System.out.println(b1);
  19.     NumeroFinCadena = String.valueOf(b1);
  20.     FinalNumero =NumeroFinCadena.length();
  21.    
  22.     }
  23.    
  24.     }
  25.     BigInteger b2 = new BigInteger("1");  //10000000000000000000000000
  26.     BigInteger Multiplicador = new BigInteger("10");
  27.     int Compara = 0;
  28.     Compara = b1.compareTo(b2);
  29.     for(int i = 0 ; i <= fin;i++){
  30.         for(int x = 0; x <= fin*500;x++){
  31.             Compara = b1.compareTo(b2);
  32.             if(Compara == 1){
  33.                
  34.                 b2 = b2.multiply(Multiplicador);   
  35.             }
  36.             Compara = b1.compareTo(b2);
  37.             if(Compara == -1){
  38.                 b2 = b2.divide(Multiplicador);
  39.             }
  40.         }
  41.         System.out.println(b2);
  42.         i = (int)fin +1;
  43.     }
  44.      
  45.     BigInteger bDivide = new BigInteger("10"); 
  46.     long GuardarAnterior = 0;
  47.     long ResultadoEntero = 0;
  48.     for(int i = 0; i < FinalNumero;i++){
  49.     BigInteger Resul = b1.divide(b2);
  50.     Resul = Resul.mod(bDivide);
  51.     b2 = b2.divide(bDivide);
  52.     ResultadoEntero = Resul.longValue();
  53.     GuardarAnterior = ResultadoEntero + GuardarAnterior;
  54.     }
  55.    
  56.     System.out.println(GuardarAnterior);
  57.         }
  58.  
  59.     }

Saludos y muchisimas gracias por perder tiempo en mi