diff options
| author | Pavel <paveljurca@users.noreply.github.com> | 2019-05-27 10:50:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-05-27 10:50:27 +0200 |
| commit | b482a376f6fb50ade494afd9be16770c150799ed (patch) | |
| tree | fd40dd84ccddb49be950c73712056ac4afe349d1 | |
| parent | 3924b956b33c55bf5495db0973815a25e852f4f4 (diff) | |
| download | perlweeklychallenge-club-b482a376f6fb50ade494afd9be16770c150799ed.tar.gz perlweeklychallenge-club-b482a376f6fb50ade494afd9be16770c150799ed.tar.bz2 perlweeklychallenge-club-b482a376f6fb50ade494afd9be16770c150799ed.zip | |
draft
| -rw-r--r-- | challenge-010/pavel-jurca/ch-1.pl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/challenge-010/pavel-jurca/ch-1.pl b/challenge-010/pavel-jurca/ch-1.pl new file mode 100644 index 0000000000..1b8f0220c1 --- /dev/null +++ b/challenge-010/pavel-jurca/ch-1.pl @@ -0,0 +1,37 @@ +use 5.010.1; + +use strict; +use warnings; + +my %roman = reverse qw/ + I 1 + V 5 + X 10 + L 50 + C 100 + D 500 + M 1000 +/; + +# === MAIN === +say encode(2019); +# ============ + +sub encode { + # "additive" notation + # https://en.wikipedia.org/wiki/Roman_numerals#Use_of_additive_notation + + my $integer = shift; + my @r; + + ROMAN: + for ( sort { $b <=> $a } keys %roman ) { + push @r, $roman{$_} x int $integer / $_; + + $integer %= $_; + } + + join '', @r; +} + +sub decode {} |
