aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2021-08-02 08:20:07 -0400
committerchirvasitua <stuart-little@users.noreply.github.com>2021-08-02 08:20:07 -0400
commit5f95c54ed2bbe846d6341eec2a2cb38c567cc62c (patch)
tree0560b0dbc38afda8b9d844fbb0e216c122ace7f7
parentf98b461d6301c6fc12e60034ec0677185ebac33c (diff)
downloadperlweeklychallenge-club-5f95c54ed2bbe846d6341eec2a2cb38c567cc62c.tar.gz
perlweeklychallenge-club-5f95c54ed2bbe846d6341eec2a2cb38c567cc62c.tar.bz2
perlweeklychallenge-club-5f95c54ed2bbe846d6341eec2a2cb38c567cc62c.zip
1st commit on 124_raku
-rwxr-xr-xchallenge-124/stuart-little/raku/ch-1.raku24
-rwxr-xr-xchallenge-124/stuart-little/raku/ch-2.raku22
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-124/stuart-little/raku/ch-1.raku b/challenge-124/stuart-little/raku/ch-1.raku
new file mode 100755
index 0000000000..bfd2a26910
--- /dev/null
+++ b/challenge-124/stuart-little/raku/ch-1.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+use v6;
+
+# run <script>
+
+say q:to/EOF/;
+ ^^^^^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^^^^^
+ ^
+ ^
+ ^
+ ^^^^^
+ ^
+ ^
+EOF
diff --git a/challenge-124/stuart-little/raku/ch-2.raku b/challenge-124/stuart-little/raku/ch-2.raku
new file mode 100755
index 0000000000..14c4ae87a4
--- /dev/null
+++ b/challenge-124/stuart-little/raku/ch-2.raku
@@ -0,0 +1,22 @@
+#!/usr/bin/env raku
+use v6;
+
+# run <script> <space-separated numbers>
+
+sub splt(@set) {
+ my $sm = @set.sum;
+ my @low = @set.combinations(@set.elems div 2).grep({ 2*$_.sum <= $sm }).max({ $_.sum }).Array;
+ my @high = (@set (-) @low).keys;
+ return @low, @high;
+}
+
+my @nums = (@*ARGS.elems %% 2) ?? (@*ARGS.map(*.Num)) !! ([0,|@*ARGS.map(*.Num)]);
+my ($low, $high) = @nums.&splt;
+(2*$low.elems > @*ARGS.elems && $low.grep({ $_ == 0}).elems) && do {
+ $low = ($low (-) (0)).keys.Array;
+} || (2*$high.elems > @*ARGS.elems && $high.grep({ $_ == 0}).elems) && do {
+ $high = ($high (-) (0)).keys.Array;
+}
+
+say $low;
+say $high;