Cursus Raku / Geavanceerd / Operatoren / Meta-operatoren / Exercises / Elke faculteit tegelijk

Oplossing: Elke faculteit tegelijk

Hier is een mogelijke oplossing voor de opgave.

Code

say [\*] 1..6;

🦋 Je kunt de broncode vinden in het bestand factorial.raku.

Uitvoer

(1 2 6 24 120 720)

Opmerkingen

  1. De backslash binnen de haken verandert [*] in een driehoeksreductie. In plaats van de lijst tot een enkele waarde samen te vouwen, bewaart hij elk gedeeltelijk product: 1, dan 1*2, dan 1*2*3, enzovoort.

  2. Elk gedeeltelijk product 1*2*...*k is precies k!, dus het resultaat is de lijst van faculteiten van 1 tot en met 6. Een gewone [*] 1..6 zou alleen de laatste hiervan hebben gegeven, 720.

Cursusnavigatie

Elke faculteit tegelijk   |   Een URL opbouwen