Páginas

jueves, 23 de diciembre de 2010

Solución 100 The 3n + 1 problem

Problema 100 The 3n + 1 problem solucionado y aceptado por el juez en línea de la Universidad de Valladolid, solución en lenguaje de programación Java.

Pagina oficial de el juez en línea de la UVa, Enunciado Original del Problema, Enunciado Original del Problema en PDF, Enunciado del Problema Traducido al Español.

Descargar Solución (.java)

3 comentarios:

  1. Sobre el problema 3n+1 una optimizacion que se puede hacer es:
    En vez de usar "%"(pues internamente hace una serie de divisiones para el resultado) se puede usar un producto en bits "&"
    Ejemplo:
    100(4) & 1(1) = 000 0->es par
    101(5) & 1(2) = 001 1->es impar

    ResponderEliminar
  2. Hola, tardé varias horas porque el uva no me lo aceptaba, sin embargo al correr mi código y el tuyo todo sale igual en la consola, luego de varios intentos encontré el problema, pero aún no lo comprendo, y es el orden al imprimir el resultado:

    System.out.print(a+" "+b+" ");
    int tope=b;
    int max=0;
    for(int j=a;jmax){
    max=actual;
    }
    }
    System.out.println(max);

    funciona perfectamente, pero si hago un solo println así System.out.print(a+" "+b+" "+mas); al final no funciona, que estoy haciendo mal?

    ResponderEliminar
    Respuestas
    1. se perdió algo de código al pegar, pero la idea es la misma, si hago un print de los dos primeros números antes de procesar funciona, pero si hago un solo println al final no lo acepta

      Eliminar

Deja tu comentario, agradecimiento, sugerencia o critica.