diff options
| -rw-r--r-- | challenge-252/mark-anderson/raku/ch-1.raku | 12 | ||||
| -rw-r--r-- | challenge-252/mark-anderson/raku/ch-2.raku | 16 |
2 files changed, 28 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..5de0eeaf33 --- /dev/null +++ b/challenge-252/mark-anderson/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/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..c254a4c654 --- /dev/null +++ b/challenge-252/mark-anderson/raku/ch-2.raku @@ -0,0 +1,16 @@ +#!/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(2), (-1,1); +is-deeply uniq-sum-zero(1), (0,); +is-deeply uniq-sum-zero(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); + +sub uniq-sum-zero($n where * >= 0) +{ + my $i = $n div 2; + (-$i...-1,1,2,3...$i,0)[^$n] +} |
