diff options
| author | James Smith <js5@sanger.ac.uk> | 2022-11-25 23:18:04 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-25 23:18:04 +0000 |
| commit | 0b7b82018ea2351ea9e141ffcbc74595f277a83e (patch) | |
| tree | 3bed72d7dda8523e9fe8667f835fc664e4b7b6fd | |
| parent | 28e71ae69e07d6e3b2fb2b6c952f4281fac374a6 (diff) | |
| download | perlweeklychallenge-club-0b7b82018ea2351ea9e141ffcbc74595f277a83e.tar.gz perlweeklychallenge-club-0b7b82018ea2351ea9e141ffcbc74595f277a83e.tar.bz2 perlweeklychallenge-club-0b7b82018ea2351ea9e141ffcbc74595f277a83e.zip | |
Update ch-2.pl
| -rw-r--r-- | challenge-192/james-smith/perl/ch-2.pl | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/challenge-192/james-smith/perl/ch-2.pl b/challenge-192/james-smith/perl/ch-2.pl index 36b2dc27dc..88e2152047 100644 --- a/challenge-192/james-smith/perl/ch-2.pl +++ b/challenge-192/james-smith/perl/ch-2.pl @@ -11,6 +11,7 @@ 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; +is( equal_dis2( @{$_->[0]} ), $_->[1] ) for @TESTS; done_testing(); sub equal_dis { @@ -21,3 +22,12 @@ sub equal_dis { $k+=abs($av-$_[0]),$_[1]-=$av-shift while @_>1; $k; } + +sub equal_dis2 { + my($av,$k,$f) = (0,0,$_[0]); + $av+=$_ for @_; + return -1 if $av%@_; + $av/=@_; + $k+=abs($av-$f),$f+=$_[$_]-$av,warn ">$_,$f,$k" for 1..$#_; + $k; +} |
