Ayuda con este ejercicio de recursion en java.

Iniciado por Phobos16, 29 Agosto 2014, 16:58 PM

0 Miembros y 1 Visitante están viendo este tema.

Phobos16

Es facil, solo debo hacer esta funcion:


     |si n <= 0 , n = n;
f(n)
     |f(n-1) + f(n-2)

debo encontrar f(2) , que segun creo yo la respuesta es 4;

pero escribiendo en codigo no me sale ...

yo lo escribi asi:

public class ricorsivo{   
   int n;
   
   int ric(int n){
      if (n <= 0)
         return n;
      else
         return this.n = ric(n-1)+ric(n-2);
      
   
   }
   int getR(){
      return this.n;
     }
   }
   

pero cuando compilo y pido que me escriba el resultado que seria 4, me da -1..

public class caca {
   public static void main(String [] args){
   
      ricorsivo a = new ricorsivo ();
      
      a.ric(2);
      
      System.out.println(a.getR());
   
   }
}


que puede estar mal?

gordo23

Trata de hacer los pasos en papel de que te daria cada llamada recursiva y te vas a dar cuenta del error. Saludos.-