diff options
| author | James Smith <js5@sanger.ac.uk> | 2022-11-21 08:03:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-21 08:03:23 +0000 |
| commit | 113e4dfdd5adc942e5b467fffe5f54996b7aa4a3 (patch) | |
| tree | d2d85f853fc9f1e44172bcc82d982500e5233886 | |
| parent | cadae443be15eba8911bf85625bdff59b8b6b04f (diff) | |
| download | perlweeklychallenge-club-113e4dfdd5adc942e5b467fffe5f54996b7aa4a3.tar.gz perlweeklychallenge-club-113e4dfdd5adc942e5b467fffe5f54996b7aa4a3.tar.bz2 perlweeklychallenge-club-113e4dfdd5adc942e5b467fffe5f54996b7aa4a3.zip | |
Create ch-2.pl
| -rw-r--r-- | challenge-192/james-smith/perl/ch-2.pl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-192/james-smith/perl/ch-2.pl b/challenge-192/james-smith/perl/ch-2.pl new file mode 100644 index 0000000000..36b2dc27dc --- /dev/null +++ b/challenge-192/james-smith/perl/ch-2.pl @@ -0,0 +1,23 @@ +#!/usr/local/bin/perl + +use strict; + +use warnings; +use feature qw(say); +use Test::More; +use Benchmark qw(cmpthese timethis); +use Data::Dumper qw(Dumper); + +my @TESTS = ( [ [1,0,5], 4 ], [ [0,2,0],-1], [ [0,3,0], 2 ] ); + +is( equal_dis( @{$_->[0]} ), $_->[1] ) for @TESTS; +done_testing(); + +sub equal_dis { + my($av,$k) = (0,0); + $av+=$_ for @_; + return -1 if $av%@_; + $av/=@_; + $k+=abs($av-$_[0]),$_[1]-=$av-shift while @_>1; + $k; +} |
