aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2023-04-03 12:10:59 +0200
committerLuca Ferrari <fluca1978@gmail.com>2023-04-03 12:10:59 +0200
commit1bab1d6247beb4ed475992cc978e74cff4b654f7 (patch)
tree4b40cec3fd8b3170d1441a8afb64a3a2cfb8fa36
parent2773e3648994354fc169f59fa8dd148aacf96100 (diff)
downloadperlweeklychallenge-club-1bab1d6247beb4ed475992cc978e74cff4b654f7.tar.gz
perlweeklychallenge-club-1bab1d6247beb4ed475992cc978e74cff4b654f7.tar.bz2
perlweeklychallenge-club-1bab1d6247beb4ed475992cc978e74cff4b654f7.zip
Task 2 done with equally sized arrays
-rw-r--r--challenge-211/luca-ferrari/raku/ch-2.p620
1 files changed, 15 insertions, 5 deletions
diff --git a/challenge-211/luca-ferrari/raku/ch-2.p6 b/challenge-211/luca-ferrari/raku/ch-2.p6
index e7a81ce359..aa425afa73 100644
--- a/challenge-211/luca-ferrari/raku/ch-2.p6
+++ b/challenge-211/luca-ferrari/raku/ch-2.p6
@@ -10,11 +10,21 @@
sub MAIN( *@list where{ @list.elems == @list.grep( * ~~ Int ).elems } ) {
for @list.permutations -> @current {
- for 0 ..^ @current.elems {
- my ($left, $right) = @current[ 0 .. $_ ], @current[ $_ + 1 .. * - 1 ];
- if ( ( $left.sum / $left.elems ) == ( $right.sum / $right.elems ) ) {
- exit;
- }
+ # for 0 ..^ @current.elems {
+ # # find the first couple that gives the same average
+ # my ($left, $right) = @current[ 0 .. $_ ], @current[ $_ + 1 .. * ];
+ # if ( ( $left.sum / $left.elems ) == ( $right.sum / $right.elems ) ) {
+ # say "{ $left.join( ',' ) } = { $left.sum / $left.elems } and { $right.join( ',' ) } = { $right.sum / $right.elems } ";
+ # exit;
+ # }
+ # }
+
+ my $split-at = ( @current.elems - 1 ) / 2;
+ my ($left, $right) = @current[ 0 .. $split-at ], @current[ $split-at + 1 .. * ];
+ if ( ( $left.sum / $left.elems ) == ( $right.sum / $right.elems ) ) {
+ say "{ $left.join( ',' ) } = { $left.sum / $left.elems } and { $right.join( ',' ) } = { $right.sum / $right.elems } ";
+ exit;
}
+
}
}