diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2024-01-15 09:59:40 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2024-01-15 09:59:40 +0000 |
| commit | 919be22f93482ce1033cca5bde16c312605ff537 (patch) | |
| tree | eaa7d8c9244aefab7d1ee0f442b73bfaabf848a2 | |
| parent | 7efb373bb9adffa79f84825217015835805298b5 (diff) | |
| download | perlweeklychallenge-club-919be22f93482ce1033cca5bde16c312605ff537.tar.gz perlweeklychallenge-club-919be22f93482ce1033cca5bde16c312605ff537.tar.bz2 perlweeklychallenge-club-919be22f93482ce1033cca5bde16c312605ff537.zip | |
Challenge 252 Solutions (Raku)
| -rw-r--r-- | challenge-252/mark-anderson/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-252/mark-anderson/raku/ch-2.raku | 24 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-252/mark-anderson/raku/ch-1.raku b/challenge-252/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..61ee7f19da --- /dev/null +++ b/challenge-252/mark-anderson/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku +use Prime::Factor; +use Test; + +is special-numbers([1,2,3,4]), 21; +is special-numbers([2,7,1,19,18,3]), 63; + +sub special-numbers(@ints) +{ + @ints.unshift: Any; + + [+] @ints[divisors @ints.end] >>**>> 2 +} diff --git a/challenge-252/mark-anderson/raku/ch-2.raku b/challenge-252/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..cfc70ac832 --- /dev/null +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku +use Test; + +is-deeply uniq-sum-zero(5), (-2,-1,1,2,0); +is-deeply uniq-sum-zero(3), (-1,1,0); +is-deeply uniq-sum-zero(1), (0,); +is-deeply uniq-sum-zero(0), (); +is-deeply uniq-sum-zero(-0), (); +is-deeply uniq-sum-zero(-1), (0,); +is-deeply uniq-sum-zero(-8), (-4,-3,-2,-1,1,2,3,4); +is-deeply uniq-sum-zero(-9), (-4,-3,-2,-1,1,2,3,4,0); + +multi uniq-sum-zero($n where 0) { () } + +multi uniq-sum-zero($n where 1|-1) { (0,) } + +multi uniq-sum-zero($n is copy) +{ + $n .= abs; + + my $i = $n div 2; + + (-$i,-$i+1...-1,1,2,3...$i,0)[^$n] +} |
