Incremento porcentual Recursivo

Iniciado por jorgecotrinax, 4 Julio 2021, 19:18 PM

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

jorgecotrinax

necesito ayuda:  :huh: :huh: :huh: :huh: :huh: :huh:
cada semana los accidentes de transito aumentan un 20% , necesito crear un elemento recursivo de eso , sabiendo que la semana 1 hubo 4 accidentes , uso netbeans

Código (java) [Seleccionar]
     public double Trasporte(int semana){
       double accidentes = 0;           
       
       if(semana == 1){
            accidentes=4;                   
       }else {         
           
            accidentes=(accidentes*0.2)+Trasporte(semana-1);                 
       }
       return accidentes;
       }


cunado ejecuto este código me retorna 4 sin importar que numero coloque


me salió pero no se como eliminar el foro asi que dejare la respuesta sin alguien necesita ayuda en el futuro  ;D ;D ;D ;D

Código (java) [Seleccionar]
    public double Trasporte(int semana){
       double accidentes = 0;           
       
       if(semana == 1){
            accidentes=4;                   
       }else {         
           
            accidentes=accidentes+(Trasporte(semana-1)*0.2)+Trasporte(semana-1);                 
       }
       return accidentes;
       }


MOD: Quitado doble post.

3n31ch

Hola amigo, te felicito por encontrar tu mismo la respuesta a tu pregunta. De todas formas, el código se puede simplificar un poco:

Código (java) [Seleccionar]

public double transporte(int semana){
       if(semana == 1) return 4;
       else return transporte(--semana) * 1.2;
}


No obstante, tu solución es del todo correcta. Solo he de recomendarte que cuando escribas el nombre de un método lo hagas con la primera letra minúscula (son convenciones, nada importante a estas alturas, pero mas adelante agradecerás la costumbre).

Y ya solo para presumir  :xD, acá tienes otra opción:
Código (java) [Seleccionar]

public double transporte(int semana){
       return (semana==1)? 4 : transporte(--semana)*1.2;
}

(lo lamento, hace mucho que no escribía en el foro, hahaha)