diff options
| author | James Smith <js5@sanger.ac.uk> | 2022-11-21 08:03:06 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-21 08:03:06 +0000 |
| commit | cadae443be15eba8911bf85625bdff59b8b6b04f (patch) | |
| tree | 01045b45c346b106e2221af1341ace4a56c7e5e9 | |
| parent | 690c285cbe6d54e23bac98561cdbe25c070c58a6 (diff) | |
| download | perlweeklychallenge-club-cadae443be15eba8911bf85625bdff59b8b6b04f.tar.gz perlweeklychallenge-club-cadae443be15eba8911bf85625bdff59b8b6b04f.tar.bz2 perlweeklychallenge-club-cadae443be15eba8911bf85625bdff59b8b6b04f.zip | |
Create ch-1.pl
| -rw-r--r-- | challenge-192/james-smith/perl/ch-1.pl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-192/james-smith/perl/ch-1.pl b/challenge-192/james-smith/perl/ch-1.pl new file mode 100644 index 0000000000..bc94462d44 --- /dev/null +++ b/challenge-192/james-smith/perl/ch-1.pl @@ -0,0 +1,20 @@ +#!/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 = ( [5,2],[4,3],[6,1] ); + +is( binary_flip( $_->[0] ), $_->[1] ) for @TESTS; +done_testing(); + +sub binary_flip { + my($r,$k,$n) = (0,1,shift); + $r=(1-$n&1)*$k+$r,$k<<=1,$n>>=1 while $n; + $r; +} |
