elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Ejercicios Recursivos en Java y sus Soluciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicios Recursivos en Java y sus Soluciones  (Leído 427,507 veces)
pavelinhos

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #20 en: 26 Noviembre 2010, 21:35 pm »

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

Código:
     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:
Código:
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:
Código:
public String Invertir(int num){
            if (num < 10)
                return String.valueOf(num);
            else
                return String.valueOf(num%10) + Invertir(num/10);
        }


En línea

criptofan

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #21 en: 4 Diciembre 2010, 20:11 pm »

Aqui un aporte mio:
Código:
public String Invertir(int num){
            if (num < 10)
                return String.valueOf(num);
            else
                return String.valueOf(num%10) + Invertir(num/10);
        }

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 :)
Agrego otra implementación:

   public static int invertir(int n)
   {
      if(n/10==0)
         return n;
      else
      {
         String s=String.valueOf(n);
         int aux=n;
         int contador=s.length();
         while(aux%10!=0)
         {
         contador--;
         break;
         }
         return (int) ((n%10)*Math.pow(10, contador)+invertir(n/10));
      }
   }


Saludos


« Última modificación: 4 Diciembre 2010, 21:36 pm por criptofan » En línea

pavelinhos

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #22 en: 14 Diciembre 2010, 23:06 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
  1. public int Invertir(int num){
  2.          String r;
  3.            if (num < 10)
  4.                r= String.valueOf(num);
  5.            else
  6.                r= String.valueOf(num%10) + Invertir(num/10);
  7.          return Integer.parseInt(r);
  8.        }
  9.  
En línea

hecter

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #23 en: 10 Febrero 2011, 20:20 pm »

Esta funcion utilizando la misma logica de recursividad de la idea original funciona
FUNCTION invertir(n INTEGER) RETURN INTEGER deterministic AS
    vnumDig      integer;
    vnuParEntera pls_integer;
  BEGIN
    vnuParEntera := trunc(n, 0);
    vnumDig      := fnugetNumOfDig(vnuParEntera);--esta es una funcion que me obtiene el numero de digito
    if vnumDig = 1 then
      return vnuParEntera;
    end if;
    return(vnuParEntera mod 10) * Power(10, vnumDig - 1) + invertir(vnuParEntera / 10);
  END invertir;
En línea

hecter

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #24 en: 10 Febrero 2011, 20:21 pm »

  FUNCTION invertir(n INTEGER) RETURN INTEGER deterministic AS
    vnumDig      integer;
    vnuParEntera pls_integer;
  BEGIN
    vnuParEntera := trunc(n, 0);
    vnumDig      := fnugetNumOfDig(vnuParEntera);--esta es una funcion que me obtiene el numero de digito
    if vnumDig = 1 then
      return vnuParEntera;
    end if;
    return(vnuParEntera mod 10) * Power(10, vnumDig - 1) + invertir(vnuParEntera / 10);
  END invertir;
En línea

steven17

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #25 en: 23 Febrero 2011, 19:52 pm »

Como haria yo para implementar una función de recursividad para copiar arreglos hasta llenar la memoria.

Es que ocupo crear un programa que cree un arreglo que se llene con mil numeros enteros y despues que haga copias de ese arreglo hasta caer en fallos de memoria
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #26 en: 22 Marzo 2011, 23:54 pm »

aki les mando el metodo invertir en forma recursiva
public int invertir(int n){
    int res=0;
    if(n<10){
        res=n;
    }
    else{
    res=(n % 10)*(int)Math.pow(10, cantDigitos(n)-1) + invertir(n / 10);
    }
    return res;
    }
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #27 en: 23 Marzo 2011, 00:04 am »

estuve revisando los metodos realizados en esta pagina y
en la mayoria de los metodos vi un error que no es tan error

este es mi consejo y tomenlo del lado positivo vale

   utilizan mucho el return y lo aconsejable es que solo se invoke el return
                     solo una 1 ves

 bye y viva la ufc
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #28 en: 25 Marzo 2011, 21:50 pm »

hola a todos bueno
aki les dejo un programita que les sirva de mucho lo interesante de este metodo es
que hace 3 veces la llamada recursiva
1
21
321
4321
54321
654321
asi sucecivamente
 public int triangulo(int n){
        int res=0;
        if(n==1){
            res=1;
        }
        else{
            res=(int)Math.pow(10,cantDigitos(triangulo(n-1) ))*n+triangulo(n-1);
        }
        return res;
    }
En línea

AleX Inc.

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Ejercicios Recursivos en Java y sus Soluciones
« Respuesta #29 en: 20 Abril 2011, 07:51 am »

Me dejaron de tarea el ejercicio 13, que coincidencia :P
Aqui lo dejo por si les sirve de algo ver otra manera de resolver el cuadro latino, yo use menos parametros.
PD: Adjunto la api para que lo prueben.
Código:
	public void cLatino(int[][]mt, int fila, int col)
{
if ( (fila+col+1)==mt.length )
mt[fila][col] = 1;
else if ( (fila+col)>=mt.length )
mt[fila][col] = (fila+col+2)-mt.length;

if ( col<mt.length-1 ) col++;
else if ( fila<mt.length-1 ) { fila++; col=0; }
else return;

cLatino(mt,fila,col);
}

public void Latino(int[][]Mt)
{ cLatino(Mt,0,0); }
Api:
http://upwap.ru/1455317
En línea

Páginas: 1 2 [3] 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Soluciones ejercicios C « 1 2 »
Ejercicios
Cobac 13 51,948 Último mensaje 7 Agosto 2005, 21:55 pm
por Cobac
soplo pon las soluciones a los ejercicios de VB pliss
Ejercicios
Codename!! 4 7,099 Último mensaje 18 Julio 2004, 08:31 am
por Codename!!
Ejercicios Java
Ejercicios
Lorena88 1 7,401 Último mensaje 21 Enero 2009, 01:42 am
por Amerikano|Cls
2 ejercicios de java
Java
kay19 1 9,317 Último mensaje 28 Agosto 2009, 20:34 pm
por Caballero Maldito
ejercicios + soluciones en java « 1 2 3 »
Java
bengy 25 24,749 Último mensaje 14 Septiembre 2011, 19:01 pm
por bengy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines