diff options
| -rw-r--r-- | challenge-171/massa/raku/ch-1.raku | 4 | ||||
| -rw-r--r-- | challenge-171/massa/raku/ch-2.raku | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/challenge-171/massa/raku/ch-1.raku b/challenge-171/massa/raku/ch-1.raku new file mode 100644 index 0000000000..1048ac035a --- /dev/null +++ b/challenge-171/massa/raku/ch-1.raku @@ -0,0 +1,4 @@ +use v6; +my sub proper-divisors(\n) { grep n %% *, ^n } +my sub is-abundant-odd(\n) { return False if n %% 2; n < [+] proper-divisors n } +(^∞).hyper.grep(&is-abundant-odd).head(20)».say diff --git a/challenge-171/massa/raku/ch-2.raku b/challenge-171/massa/raku/ch-2.raku new file mode 100644 index 0000000000..3b4d1ba41b --- /dev/null +++ b/challenge-171/massa/raku/ch-2.raku @@ -0,0 +1,19 @@ +use v6; +my sub compose(Code $a, Code $b) { + -> |arguments { $a.(|$b.(|arguments)) } +} + +sub plusminus(\a, \b) { + return a + b, a - b +} + +sub multdiv(\a, \b) { + return a * b, a / b +} + +my $x = compose &plusminus, &multdiv; + +plusminus(|multdiv(3, 8)).raku.say; +$x.(3, 8).raku.say; + +compose({ $^a + $^b }, &multdiv).(3, 8).raku.say; |
