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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  recursividad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: recursividad  (Leído 4,688 veces)
trueno_dp

Desconectado Desconectado

Mensajes: 3


Ver Perfil
recursividad
« en: 15 Junio 2011, 20:18 pm »

Hola, no sé si estoy en el foro adecuado, pero estoy liao con java y la recursividad m mata, tengo que encontrar los divisores de un entero de forma recursiva y no tengo ni idea, tengo echo algo, pero vamos que no m funcion, a ver si alguien me puede ayudar gracias.


 public static int recursividad(int numero){
   
     if(numero>2)
     {
       
        return 0;
     }else
     {
   
      
       return recursividad(numero%numero-1);
    }
 
  }


En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: recursividad
« Respuesta #1 en: 15 Junio 2011, 22:23 pm »

espero que te sirva es orientado a objetos pero lo podrias cambiar el code
a recursividad vale bye
Código:
public ArrayList<Integer> divisores(int numero){
    int cociente=1;
    int copia= numero/2;
   
   ArrayList<Integer>  arreglo= new ArrayList<Integer> ();
       while(cociente<= copia){
        if(copia%cociente==0){
            arreglo.add(cociente);
        }
        cociente++;
        }
        arreglo.add(numero);
    return arreglo;
    }


« Última modificación: 15 Junio 2011, 22:51 pm por bj Wilson A » En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: recursividad
« Respuesta #2 en: 15 Junio 2011, 22:50 pm »

solo ve el caso base y la parte recursiva
En línea

trueno_dp

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: recursividad
« Respuesta #3 en: 16 Junio 2011, 00:07 am »

pffff no me entero, perdona!!!
Gracias de todas maneras
En línea

barbieturico

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: recursividad
« Respuesta #4 en: 16 Junio 2011, 09:20 am »

Lo primero, la condición para que una función sea recursiva es que se llame a sí misma.
Para hacer lo que dices es bastante fácil, aquí lo tienes hecho con recursividad:

Código
  1. public class Test {
  2.    public static java.util.List<Integer> divisores = new java.util.ArrayList<Integer>();
  3.    public static void recursivo(int numero, int i)   {
  4.            if(i>0 && numero%i==0) {
  5.                divisores.add(new Integer(i));
  6.                System.out.println(i);
  7.            }
  8.            i++;
  9.            if(i<=numero) Test.recursivo(numero, i);
  10.    }
  11.    public static void main(String[] args) throws IOException {
  12.            Test.recursivo(1125,1);
  13.    }
  14. }
  15.  
« Última modificación: 16 Junio 2011, 09:56 am por barbieturico » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Recursividad
Java
rjrn 8 9,774 Último mensaje 17 Marzo 2009, 19:33 pm
por weirdtyping
recursividad
Ejercicios
Choclito 0 3,562 Último mensaje 12 Mayo 2009, 04:47 am
por Choclito
Recursividad
Programación C/C++
Abanda_9 4 4,892 Último mensaje 29 Mayo 2010, 04:09 am
por Abanda_9
recursividad en c++
Programación C/C++
krizalid1 2 5,781 Último mensaje 4 Junio 2011, 15:32 pm
por Don Pollo
Recursividad
.NET (C#, VB.NET, ASP)
Choclito 7 5,513 Último mensaje 8 Julio 2011, 06:44 am
por Choclito
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines