diff options
| author | drbaggy <js5@sanger.ac.uk> | 2022-05-02 09:51:24 +0100 |
|---|---|---|
| committer | drbaggy <js5@sanger.ac.uk> | 2022-05-02 09:51:24 +0100 |
| commit | a702e0aa6757e66d221f111f9effb9358db2ee1e (patch) | |
| tree | e6b62e5443afc3bcf138a354fab9390a3b4d8e2c /challenge-163 | |
| parent | 632ee1d3e18fe9399b67bfe8b3eb472eefbf87df (diff) | |
| download | perlweeklychallenge-club-a702e0aa6757e66d221f111f9effb9358db2ee1e.tar.gz perlweeklychallenge-club-a702e0aa6757e66d221f111f9effb9358db2ee1e.tar.bz2 perlweeklychallenge-club-a702e0aa6757e66d221f111f9effb9358db2ee1e.zip | |
shortened version
Diffstat (limited to 'challenge-163')
| -rw-r--r-- | challenge-163/james-smith/perl/ch-1.pl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/challenge-163/james-smith/perl/ch-1.pl b/challenge-163/james-smith/perl/ch-1.pl index cd88d3bee8..84b59f459f 100644 --- a/challenge-163/james-smith/perl/ch-1.pl +++ b/challenge-163/james-smith/perl/ch-1.pl @@ -14,7 +14,8 @@ my @TESTS = ( [ [2..4,2..4], 2 ], ## Check uniquification... ); -is( bit_sum(@{$_->[0]}), $_->[1] ) for @TESTS; +is( bit_sum( @{$_->[0]} ), $_->[1] ) for @TESTS; +is( bit_sum_compact( @{$_->[0]} ), $_->[1] ) for @TESTS; done_testing(); @@ -33,3 +34,10 @@ sub bit_sum { } $t; ## Return sum } + +sub bit_sum_compact { + my $t = 0; my %hash = map { $_ => 1 } @_; @_ = keys %hash; + while(@_>1) { my $a = shift; $t+= $a&$_ for @_; } + $t; +} + |
