Para hacer una recurrencia debemos ver qué variables se van modificando en cada iteración y cuál es la condición de salida.
- Condición de salida (c >= n)
- Variables que se modifican: <i> <c>
Ahora las variables que se van modificando las tenemos que incluir como parámetros y el bucle lo tenemos que convertir en un condicional con llamadas recursivas.Código (cpp) [Seleccionar]
size_t cuboNicomanoRecurrente(unsigned numero, unsigned iteracion = 0, unsigned impar = 1){
if(iteracion < numero-1)
return numero*(numero-1) + impar + cuboNicomanoRecurrente(numero, iteracion+1, impar+2);
return numero*(numero-1) + impar;
}