Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - pavelinhos

#1
Cita de: criptofan en  4 Diciembre 2010, 20:11 PM
Aunque ojo que ahí se esta retornado un String y no un int como es pedido, claramente esto simplifica extremadamente el código por que la suma de cadenas de caracteres simplemente se concatenan a diferencia de la suma de números donde se deben elevar los dígitos a la potencia respectiva para lograr invertir el número. De todas maneras, me gusto mucho tu implementación :)

Saludos
Otra manera seria, convertir el String en un int luego de invertir:
Código (java) [Seleccionar]

public int Invertir(int num){
          String r;
            if (num < 10)
                r= String.valueOf(num);
            else
                r= String.valueOf(num%10) + Invertir(num/10);
          return Integer.parseInt(r);
        }

#2
Cita de: pixzeto en 11 Junio 2009, 02:03 AM
Estuve practicando con estos ejercicios y parece que el método para invertir un número no funciona bien.

Por ejemplo, si le entregamos el 32, daría:
2 + invertir(3)*10  =  2 + 3*10  =  32


     int invertir (int n)
    {
if (n < 10)         //caso base
    return n;
else
    return (n % 10) + invertir (n / 10) * 10;
    }



Pero lo hice así y funciona:

public int invertirNumero(int numero){
if(numero<10){
return numero;
}else{
int contador = 0;
int aux = numero;
while(aux/10!=0){
contador++;
aux = aux/10;
}
return (int)(Math.pow(10, contador))*(numero%10) + this.invertirNumero(numero/10);
}
}

Aqui un aporte mio:

public String Invertir(int num){
            if (num < 10)
                return String.valueOf(num);
            else
                return String.valueOf(num%10) + Invertir(num/10);
        }