aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-05-17 16:22:56 +0100
committerGitHub <noreply@github.com>2020-05-17 16:22:56 +0100
commit394c989470f814679a61ab67dbb9e4d6d6025e71 (patch)
tree81dd6ea65e5ac6366ca35ece2a28f1e3e02e9af3
parent2ece0495cd043665633e291413d1c44aad6753e6 (diff)
parent072d52105e296d33189d80872af5656ba06edecf (diff)
downloadperlweeklychallenge-club-394c989470f814679a61ab67dbb9e4d6d6025e71.tar.gz
perlweeklychallenge-club-394c989470f814679a61ab67dbb9e4d6d6025e71.tar.bz2
perlweeklychallenge-club-394c989470f814679a61ab67dbb9e4d6d6025e71.zip
Merge pull request #1722 from andemark/branch-for-challenge-060
final
-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);
}