diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-04-02 17:45:36 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-04-02 17:45:36 +0100 |
| commit | c8edb9612b44910fa26c19e11f3f845e47691d84 (patch) | |
| tree | 31f6c56890c16ec1f2425ab101c28aeaae43feae /challenge-002 | |
| parent | 7ff3cc85683b1ac53966648703f9825b86d21daf (diff) | |
| download | perlweeklychallenge-club-c8edb9612b44910fa26c19e11f3f845e47691d84.tar.gz perlweeklychallenge-club-c8edb9612b44910fa26c19e11f3f845e47691d84.tar.bz2 perlweeklychallenge-club-c8edb9612b44910fa26c19e11f3f845e47691d84.zip | |
- Added solutions by Simon Proctor.
Diffstat (limited to 'challenge-002')
| -rw-r--r-- | challenge-002/simon-proctor/perl5/ch-1.sh | 1 | ||||
| -rw-r--r-- | challenge-002/simon-proctor/perl5/ch-2.pl | 16 | ||||
| -rw-r--r-- | challenge-002/simon-proctor/perl5/to-base-35.pl | 18 |
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-002/simon-proctor/perl5/ch-1.sh b/challenge-002/simon-proctor/perl5/ch-1.sh new file mode 100644 index 0000000000..6055088ce0 --- /dev/null +++ b/challenge-002/simon-proctor/perl5/ch-1.sh @@ -0,0 +1 @@ +perl -E 'my $v = shift @ARGV;$v =~ s!^0+!!;say $v' diff --git a/challenge-002/simon-proctor/perl5/ch-2.pl b/challenge-002/simon-proctor/perl5/ch-2.pl new file mode 100644 index 0000000000..7354af499c --- /dev/null +++ b/challenge-002/simon-proctor/perl5/ch-2.pl @@ -0,0 +1,16 @@ +use strict; +use v5.10; + +my @in = split "", ( shift @ARGV ); +my $out = 0; + +my $c = 0; +my %map = map { $_ => $c++ } (0..9,"A".."Y"); + +my $mult = 1; +for my $char ( reverse @in ) { + $out += ( $mult * $map{$char} ); + $mult *= 35; +} + +say $out; diff --git a/challenge-002/simon-proctor/perl5/to-base-35.pl b/challenge-002/simon-proctor/perl5/to-base-35.pl new file mode 100644 index 0000000000..4bee1b597d --- /dev/null +++ b/challenge-002/simon-proctor/perl5/to-base-35.pl @@ -0,0 +1,18 @@ +use strict; +use v5.10; + +my $in = shift @ARGV; +my @out = (); + +my $c = 0; +my %map = map { $c++ => $_ } (0..9,"A".."Y"); + +while ( $in ) { + my $rem = $in % 35; + push @out, $map{$rem}; + $in = $in - $rem; + $in = $in / 35; +} + +say join( "", reverse @out ); + |
