aboutsummaryrefslogtreecommitdiff
path: root/challenge-060
diff options
context:
space:
mode:
authorMark Anderson <mark@frontrangerunner.com>2020-05-17 09:15:38 -0600
committerMark Anderson <mark@frontrangerunner.com>2020-05-17 09:15:38 -0600
commit072d52105e296d33189d80872af5656ba06edecf (patch)
treea2a8fbc605a460a249c820ccdfde749adf8e969a /challenge-060
parent46715341a8faf2768b6d172b0400690281f693de (diff)
downloadperlweeklychallenge-club-072d52105e296d33189d80872af5656ba06edecf.tar.gz
perlweeklychallenge-club-072d52105e296d33189d80872af5656ba06edecf.tar.bz2
perlweeklychallenge-club-072d52105e296d33189d80872af5656ba06edecf.zip
final
Diffstat (limited to 'challenge-060')
-rw-r--r--challenge-060/mark-anderson/raku/ch-1.raku12
1 files changed, 5 insertions, 7 deletions
diff --git a/challenge-060/mark-anderson/raku/ch-1.raku b/challenge-060/mark-anderson/raku/ch-1.raku
index c8d3b23d61..0bc777c96d 100644
--- a/challenge-060/mark-anderson/raku/ch-1.raku
+++ b/challenge-060/mark-anderson/raku/ch-1.raku
@@ -8,7 +8,7 @@ sub from-excel(Str $str) {
my $exp = @letters.keys.max;
for @letters {
- $num += ($_.ord - 64) * (26 ** $exp--);
+ $num += (.ord - 64) * (26 ** $exp--);
}
$num;
@@ -16,28 +16,26 @@ sub from-excel(Str $str) {
sub to-excel(UInt $num is copy) {
my $string;
- my $quotient;
my $remainder;
my @letters = ("A" .. "Z");
while $num > 26 {
- $quotient = ($num / 26).Int;
- $remainder = $num % 26;
+ $remainder = $num mod 26;
+ $num div= 26;
if $remainder == 0 {
- $quotient--;
+ $num--;
$remainder = 26;
}
$string ~= @letters[$remainder - 1];
- $num = $quotient;
}
$string ~= @letters[$num - 1];
$string.flip;
}
-multi sub MAIN (Str $str where $str ~~ /^<[A..Z]>+$/) {
+multi sub MAIN (Str $str where $str ~~ /^ <[A..Z]>+ $/) {
say from-excel($str);
}