From 1c39414e90bfa4093a8443f28c4d8e00a6809363 Mon Sep 17 00:00:00 2001 From: Polgár Márton Date: Mon, 21 Feb 2022 18:19:39 +0100 Subject: solutions for week #153 --- challenge-153/2colours/raku/ch-1.raku | 7 +++++++ challenge-153/2colours/raku/ch-2.raku | 9 +++++++++ 2 files changed, 16 insertions(+) create mode 100755 challenge-153/2colours/raku/ch-1.raku create mode 100755 challenge-153/2colours/raku/ch-2.raku diff --git a/challenge-153/2colours/raku/ch-1.raku b/challenge-153/2colours/raku/ch-1.raku new file mode 100755 index 0000000000..dd18cc23b4 --- /dev/null +++ b/challenge-153/2colours/raku/ch-1.raku @@ -0,0 +1,7 @@ +#!/usr/bin/env raku + +sub left-factorial($n) { + [+] (^$n).map({[*] (1..$_)}) +} + +(1..10).map(&left-factorial).join(', ').say; diff --git a/challenge-153/2colours/raku/ch-2.raku b/challenge-153/2colours/raku/ch-2.raku new file mode 100755 index 0000000000..b897c37674 --- /dev/null +++ b/challenge-153/2colours/raku/ch-2.raku @@ -0,0 +1,9 @@ +#!/usr/bin/env raku + +my $n = prompt('Input: $n = ').Int; +my @digits = $n ~~ m:g/\d/; +my @factorials = @digits.map({[*] (1..$_)}); +my $is-equal = @factorials.sum == $n; +say "Output: {$is-equal.Int}"; +say "Since {@digits >>~>> '!' andthen .join(' + ')} => {@factorials.join(' + ')} {$is-equal ?? '=' !! '<>'} $n"; + -- cgit