diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2023-04-03 12:10:59 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2023-04-03 12:10:59 +0200 |
| commit | 1bab1d6247beb4ed475992cc978e74cff4b654f7 (patch) | |
| tree | 4b40cec3fd8b3170d1441a8afb64a3a2cfb8fa36 | |
| parent | 2773e3648994354fc169f59fa8dd148aacf96100 (diff) | |
| download | perlweeklychallenge-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.p6 | 20 |
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; } + } } |
