diff options
| author | drbaggy <js5@sanger.ac.uk> | 2021-01-18 09:37:39 +0000 |
|---|---|---|
| committer | drbaggy <js5@sanger.ac.uk> | 2021-01-18 09:37:39 +0000 |
| commit | 4bd27a7904f513bbde5ca23413fe7296a090ae83 (patch) | |
| tree | c34d203d852748dc6d06543ef3ef444716d6234e /challenge-095 | |
| parent | 754e6dcd79dde5387229a23ae7eca35d70eac4a3 (diff) | |
| download | perlweeklychallenge-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.pl | 8 |
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; } |
