diff options
| author | Humberto Massa <humbertomassa@gmail.com> | 2022-06-29 10:17:51 -0300 |
|---|---|---|
| committer | Humberto Massa <humbertomassa@gmail.com> | 2022-06-29 10:17:51 -0300 |
| commit | c13a736507c665794ce400d1fb4c61063a207ecc (patch) | |
| tree | 44d044b72c47af7346cabb985b9dd71083711b45 | |
| parent | 0c6792736f40aebd4d56398f474ff42a0ec9994f (diff) | |
| download | perlweeklychallenge-club-c13a736507c665794ce400d1fb4c61063a207ecc.tar.gz perlweeklychallenge-club-c13a736507c665794ce400d1fb4c61063a207ecc.tar.bz2 perlweeklychallenge-club-c13a736507c665794ce400d1fb4c61063a207ecc.zip | |
Answer to challenge 171 by @massa
| -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; |
