Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Recursión / Exercises / Número triangular
Solución: Número triangular
Aquí tienes una posible solución para la tarea.
Código
multi tri(0) { 0 }
multi tri($n) { $n + tri($n - 1) }
say tri(5);🦋 Puedes encontrar el código fuente en el archivo triangular-number.raku.
Salida
15Comentarios
El caso base es un candidato propio:
multi tri(0)coincide solo cuando el argumento es exactamente0y devuelve0sin recurrir.Cualquier otra llamada aterriza en
multi tri($n), que suma$nal número triangular de$n - 1. Las llamadas descienden5 + 4 + 3 + 2 + 1 + 0, y cuando el argumento llega a0el despacho cambia al candidato del caso base y la suma se desenrolla hasta15.