Corso di Raku / Fondamenti / Creazione e chiamata di funzioni / Esercizi / Fattoriale ricorsivo
Soluzione: Fattoriale ricorsivo
Il fattoriale è un esercizio molto produttivo, poiché può essere risolto in diversi modi. Questa volta stiamo usando la ricorsione, il che significa che la funzione viene chiamata da se stessa.
Codice 1
Ecco il codice della soluzione. Nota che è necessario controllare la condizione per fermare la ricorsione, altrimenti continuerà all’infinito.
sub factorial($n) {
if $n < 2 {
return 1;
}
else {
return $n * factorial($n - 1);
}
}
say factorial(10);
🦋 Trova il programma nel file recursive-factorial.raku.
Codice 2
In casi come mostrato in questo codice, è spesso meglio usare le forme postfisse di if
per restituire immediatamente dalla funzione. Questo approccio rende il codice più chiaro e rimuove molte indentazioni e punteggiature.
sub factorial($n) {
return 1 if $n < 2;
return $n * factorial($n - 1);
}
say factorial(10);
🦋 Trova il programma aggiornato nel file recursive-factorial-2.raku.
Esempio
Esegui il programma e controlla il risultato. A proposito, sapevi che 10! è esattamente il numero di secondi in sei settimane?
$ raku exercises/functions/recursive-factorial.raku
3628800
Prossimo esercizio
Navigazione del corso
← Tipi di dati associativi / Interpolazione di hash | Più sulle funzioni →
Questa pagina è tradotta automaticamente con ChatGPT 4o. Testo originale in inglese.
Traduzioni di questa pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська