aboutsummaryrefslogtreecommitdiff
path: root/challenge-095
diff options
context:
space:
mode:
authordrbaggy <js5@sanger.ac.uk>2021-01-18 09:37:39 +0000
committerdrbaggy <js5@sanger.ac.uk>2021-01-18 09:37:39 +0000
commit4bd27a7904f513bbde5ca23413fe7296a090ae83 (patch)
treec34d203d852748dc6d06543ef3ef444716d6234e /challenge-095
parent754e6dcd79dde5387229a23ae7eca35d70eac4a3 (diff)
downloadperlweeklychallenge-club-4bd27a7904f513bbde5ca23413fe7296a090ae83.tar.gz
perlweeklychallenge-club-4bd27a7904f513bbde5ca23413fe7296a090ae83.tar.bz2
perlweeklychallenge-club-4bd27a7904f513bbde5ca23413fe7296a090ae83.zip
added radix code to ch-1.pl
Diffstat (limited to 'challenge-095')
-rw-r--r--challenge-095/james-smith/perl/ch-1.pl8
1 files changed, 5 insertions, 3 deletions
diff --git a/challenge-095/james-smith/perl/ch-1.pl b/challenge-095/james-smith/perl/ch-1.pl
index 921ddaec2b..69821798c4 100644
--- a/challenge-095/james-smith/perl/ch-1.pl
+++ b/challenge-095/james-smith/perl/ch-1.pl
@@ -18,6 +18,7 @@ is( is_palindrome_array(90), 0 );
done_testing();
+say is_palindrome_array($_,2), is_palindrome_array($_,3), is_palindrome_array($_,4), is_palindrome_array($_,6),' ',$_ foreach 6..1000000;
## I will provide two solutions here...
## (1) The first one just treating the two numbers as strings and
@@ -38,10 +39,11 @@ sub is_palindrome_rev {
## shift/pop trick as it will compare digit with undef;
sub is_palindrome_array {
- my $n = shift;
+ my($n,$radix) = @_;
+ $radix||=10;
return 0 if $n < 0;
- my @digits = $n%10;
- push @digits, $n%10 while $n = int ($n/10);
+ my @digits = $n%$radix;
+ push @digits, $n%$radix while $n = int ($n/$radix);
while( @digits>1 ) {
return 0 if shift @digits != pop @digits;
}