lunes, 24 de noviembre de 2014

Ejercicio 39

package ejercicio38;

/**
*
* @author juan
*/
public class Ejercicio38 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String cadena;
        int centenas, decenas, unidades;
        //unidades=decenas=centenas=0;
   
        for (int i = 100; i < 1000; i++) {
           cadena=String.valueOf(i);
       
           unidades=Character.getNumericValue(cadena.charAt(cadena.length()-1));
           decenas = Character.getNumericValue(cadena.charAt(1));
           centenas=Character.getNumericValue(cadena.charAt(0));
           if (i==(int)(Math.pow(unidades, 3)+Math.pow(decenas, 3)+Math.pow(centenas, 3)))

System.out.println(i);
        }
         System.out.println("_________________________");
         //unidades=decenas=centenas=0;
        
         for (int i = 100; i < 1000; i++) {
            centenas= i/100;
            decenas= i/10- (centenas*10);        
            unidades= i- (centenas*100)-(decenas*10);
            if (i==Math.pow(unidades, 3)+Math.pow(decenas, 3)+Math.pow(centenas, 3)) System.out.println(i);

       
        }
         System.out.println("======================");
         for (int i = 1; i < 10; i++) {
             for (int j = 0; j < 10; j++) {
                 for (int k = 0; k < 10; k++) {
                     if ((i*100+j*10+k)==Math.pow(i,3)+Math.pow(j,3)+Math.pow(k, 3))
                     {
                         System.out.printf("El número es %d%d%d%n",i,j,k);
                     }
                     }
                 }
             }
        }
   

    }
package solucion2;
import java.util.Scanner;

/**
*
* @author juan
*/
public class Solucion2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        Scanner leer = new Scanner(System.in);
       
        int num1,num2,mayor,menor,maximo;
        while (leer.hasNextInt()) {
            num1=leer.nextInt();
            num2=leer.nextInt();
            menor=Math.min(num2, num1);
            mayor=Math.max(num2, num1);
           
            maximo=0;
            for (int i = menor; i <=mayor; i++) {
                maximo= Math.max(maximo, cuentaSaltos(i));
            }
            System.out.println(num1+ " " + num2 + " " + maximo);
           
           
        }
    }
    public static int cuentaSaltos(int i){
        int retorno;
        int num,cont;
        num=i;
        cont=1;
        while (num!=1)
        {
            if (num%2==0) num=num/2;
                    else num = 3*num+1;
            ++cont;
        }
        return (cont);
    }
   
}