diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2021-08-02 08:20:07 -0400 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2021-08-02 08:20:07 -0400 |
| commit | 5f95c54ed2bbe846d6341eec2a2cb38c567cc62c (patch) | |
| tree | 0560b0dbc38afda8b9d844fbb0e216c122ace7f7 | |
| parent | f98b461d6301c6fc12e60034ec0677185ebac33c (diff) | |
| download | perlweeklychallenge-club-5f95c54ed2bbe846d6341eec2a2cb38c567cc62c.tar.gz perlweeklychallenge-club-5f95c54ed2bbe846d6341eec2a2cb38c567cc62c.tar.bz2 perlweeklychallenge-club-5f95c54ed2bbe846d6341eec2a2cb38c567cc62c.zip | |
1st commit on 124_raku
| -rwxr-xr-x | challenge-124/stuart-little/raku/ch-1.raku | 24 | ||||
| -rwxr-xr-x | challenge-124/stuart-little/raku/ch-2.raku | 22 |
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; |
