Buenas estaba haciendo este ejercicio y me surgieron algunas dudas que prefiero despejar. En mi caso el código de la función es el siguiente
uint Rayuela(uint n){
if ((n==0)||(n==1))
return 1;
else
return Rayuela(n-1) + Rayuela(n-2);
Esto es porque si partís de [0,1,2,3,4,.....,n] cada vez que das un salto de uno y quedas en el uno [1,2,3,4,.....,n] tenes los mismos camino posibles que ir de 0 a n-1 [0,1,2,3,4,.....,n-1] es decir rayuela(n-1), pero si en cambio decidís en el primer movimiento saltar a la segunda baldosa eso es [2,3,4,.....,n] es equivalente a ir de o a n-2 [0,1,2,3,4,.....,n-2] entonces suponiendo que accionando análogamente el algoritmo recurrente ya calcula Rayuela(n-1) y Rayuela(n-2) ya estaría lista la función.
Estuve viendo que hay varios ejercicios en los que se pide recursión de cola, esto no seria recursión de cola cierto? Hay funciones recurrentes que no se pueden llevar a recursión de cola?
Saludos.