diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-05-28 21:56:31 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-05-28 21:56:31 +0200 |
| commit | 2cba0a45e89af2b3c9c361cb5da5cde81b3ddc2f (patch) | |
| tree | 8eb66675c964bb80a96b8f7f8becfdced56c5902 | |
| parent | bcc11a8dc2fa51933b649f20cf0a3325b9193b6d (diff) | |
| download | perlweeklychallenge-club-2cba0a45e89af2b3c9c361cb5da5cde81b3ddc2f.tar.gz perlweeklychallenge-club-2cba0a45e89af2b3c9c361cb5da5cde81b3ddc2f.tar.bz2 perlweeklychallenge-club-2cba0a45e89af2b3c9c361cb5da5cde81b3ddc2f.zip | |
solution week 218-1
| -rw-r--r-- | challenge-218/wambash/raku/ch-1.raku | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-218/wambash/raku/ch-1.raku b/challenge-218/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..92631d7b89 --- /dev/null +++ b/challenge-218/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub maximum-product (+@list) { + @list + andthen .sort.cache + andthen ([*] .tail(3)) max ([*] |.head(2), .tail) +} + +multi MAIN (Bool :test($)!) { + use Test; + is maximum-product(3, 1, 2),6; + is maximum-product(4, 1, 3, 2),24; + is maximum-product(-1, 0, 1, 3, 1),3; + is maximum-product(-8, 2, -9, 0, -4, 3), 216; + done-testing; +} + +multi MAIN (*@list) { + say maximum-product @list +} |
