aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-122/luc65r/raku/ch-2.raku21
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-122/luc65r/raku/ch-2.raku b/challenge-122/luc65r/raku/ch-2.raku
new file mode 100755
index 0000000000..53d91e2718
--- /dev/null
+++ b/challenge-122/luc65r/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+use experimental :cached;
+
+proto score(UInt:D --> Seq) is cached {*}
+
+multi score(0) { [], }
+
+multi score($n) {
+ gather for 1..3 -> $i {
+ with try score($n - $i) -> @s {
+ for @s {
+ take [$i, |@_];
+ }
+ }
+ }
+}
+
+sub MAIN(UInt $n) {
+ .join(' ').say for score $n;
+}