Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione funzionale / Ricorsione / Exercises / Numero triangolare
Soluzione: Numero triangolare
Ecco una possibile soluzione del compito.
Codice
multi tri(0) { 0 }
multi tri($n) { $n + tri($n - 1) }
say tri(5);🦋 Trova il programma nel file triangular-number.raku.
Output
15Commenti
Il caso base è un candidato a sé:
multi tri(0)corrisponde solo quando l’argomento è esattamente0e restituisce0senza ricorrere.Ogni altra chiamata atterra in
multi tri($n), che aggiunge$nal numero triangolare di$n - 1. Le chiamate scendono5 + 4 + 3 + 2 + 1 + 0, e quando l’argomento raggiunge0la distribuzione passa al candidato del caso base e la somma si srotola fino a15.