diff options
| author | drbaggy <js5@sanger.ac.uk> | 2021-10-29 13:57:40 +0100 |
|---|---|---|
| committer | drbaggy <js5@sanger.ac.uk> | 2021-10-29 13:57:40 +0100 |
| commit | 97c29e8d390fa4161e350707866c8d2351ac5c82 (patch) | |
| tree | eaacc9978126ad4897804ca8b573d06249f29c63 | |
| parent | de97d1e8c036c3a78f840a95eb63e1b37c9f230f (diff) | |
| download | perlweeklychallenge-club-97c29e8d390fa4161e350707866c8d2351ac5c82.tar.gz perlweeklychallenge-club-97c29e8d390fa4161e350707866c8d2351ac5c82.tar.bz2 perlweeklychallenge-club-97c29e8d390fa4161e350707866c8d2351ac5c82.zip | |
Tidied
| -rw-r--r-- | challenge-136/james-smith/perl/ch-1.pl | 4 | ||||
| -rw-r--r-- | challenge-136/james-smith/perl/ch-2.pl | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/challenge-136/james-smith/perl/ch-1.pl b/challenge-136/james-smith/perl/ch-1.pl index d38d98b87c..3638053bc6 100644 --- a/challenge-136/james-smith/perl/ch-1.pl +++ b/challenge-136/james-smith/perl/ch-1.pl @@ -9,6 +9,7 @@ use Benchmark qw(cmpthese timethis); use Data::Dumper qw(Dumper); my @TESTS = ( + [ [31,96], 0 ], [ [8,24], 1 ], [ [26,39], 0 ], [ [4,10], 1 ], @@ -21,7 +22,8 @@ done_testing(); sub friendly { my($a,$b) = @_; ($a,$b) = ($b,$a%$b) while $b; ## Get GCD - $a>>=1 until $a&1; ## Remove trailing binary digits + return 0 if $a == 1; ## Numbers are co-prime so not friendly + $a>>=1 until $a&1; ## Remove trailing binary 0 digits return $a == 1 ? 1 : 0; ## For powers of two $a == 1 } diff --git a/challenge-136/james-smith/perl/ch-2.pl b/challenge-136/james-smith/perl/ch-2.pl index 410c95d2ba..be1466063e 100644 --- a/challenge-136/james-smith/perl/ch-2.pl +++ b/challenge-136/james-smith/perl/ch-2.pl @@ -10,9 +10,10 @@ use Data::Dumper qw(Dumper); my @TESTS = ( [ 16, 4 ], + [ 99_999, 192 ], [ 9, 2 ], [ 15, 2 ], - [ 99_999, 192 ], + [ 8, 3 ], ); my @fib = (1,2); @@ -24,7 +25,7 @@ done_testing(); sub fib_sum { my $n = shift; push @fib, $fib[-1]+$fib[-2] while $n > $fib[-1]; - return sum( $n, @fib[0..@fib-2] ); + return sum( $n, grep { $_ <= $n } @fib ); } sub sum { |
