Corso di Raku / Avanzato / Operatori / Meta-operatori / Exercises / Ogni fattoriale in una volta

Soluzione: Ogni fattoriale in una volta

Ecco una possibile soluzione.

Codice

say [\*] 1..6;

🦋 Puoi trovare il codice sorgente nel file factorial.raku.

Output

(1 2 6 24 120 720)

Commenti

  1. Il backslash all’interno delle parentesi quadre trasforma [*] in una riduzione triangolare. Invece di comprimere la lista in un singolo valore, conserva ogni prodotto parziale: 1, poi 1*2, poi 1*2*3, e così via.

  2. Ogni prodotto parziale 1*2*...*k è esattamente k!, quindi il risultato è la lista dei fattoriali da 1 a 6. Un semplice [*] 1..6 avrebbe restituito solo l’ultimo di questi, 720.

Ogni fattoriale in una volta   |   Costruire un URL