Wejście:
Liczba całkowita.
Wynik:
- Najpierw przekonwertuj liczbę całkowitą na odpowiadającą jej liczbę rzymską.
- Następnie przekonwertuj każdą wielką literę tej cyfry rzymskiej na ich wartość dziesiętną ASCII / UNICODE.
- I wypisz ich sumę.
Przykład:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
Cyfry rzymskie: Oto prawdopodobnie przydatny konwerter cyfr rzymskich.
Zasady konkursu:
- Stosowane są standardowe reguły liczb rzymskich, więc nie ma alternatywnych form takich jak
IIII
lubVIIII
zamiastIV
iIX
. * - Linie Macrona powyżej cyfr rzymskich powyżej 1000 to
¯
(UNICODE nr. 175). Więc jedna linia liczy się jako,+175
a dwie jak+350
. - Możesz używać dowolnego rodzaju danych wejściowych i wyjściowych, o ile reprezentują one liczby całkowite.
- Przypadki testowe będą w zakresie
1 - 2,147,483,647
.
* Reguły cyfr rzymskich (cytat z Wikipedii):
Liczby są tworzone przez łączenie symboli i dodawanie wartości, podobnie jak
II
dwa (dwa) iXIII
trzynaście (dziesięć i trzy). Ponieważ każda cyfra ma stałą wartość, a nie reprezentuje wielokrotność dziesięciu, stu itd., Zgodnie z pozycją, nie ma potrzeby zerowania miejsca, jak w liczbach takich jak 207 lub 1066; liczby te zapisano jakoCCVII
(dwieście, pięć i dwa) iMLXVI
(tysiąc, pięćdziesiąt, dziesięć, pięć i jeden).Symbole są umieszczane od lewej do prawej w kolejności wartości, zaczynając od największej. Jednak w kilku szczególnych przypadkach, aby uniknąć powtarzania się czterech znaków kolejno (takich jak
IIII
lubXXXX
), notacja odejmująca jest często stosowana w następujący sposób:
I
umieszczone przedV
lubX
wskazuje jeden mniej, więc cztery toIV
(jeden mniej niż pięć), a dziewięć toIX
(jeden mniej niż dziesięć)X
umieszczone przedL
lubC
wskazuje dziesięć mniej, więc czterdzieści toXL
(dziesięć mniej niż pięćdziesiąt), a dziewięćdziesiąt toXC
(dziesięć mniej niż sto)C
umieszczone przedD
lubM
wskazuje sto mniej, więc czterysta toCD
(sto mniej niż pięćset), a dziewięćset toCM
(sto mniej niż tysiąc)
Na przykład,MCMIV
to tysiąc dziewięćset cztery, 1904 (M
to tysiąc,CM
to dziewięćset iIV
cztery).Niektóre przykłady współczesnego użycia cyfr rzymskich obejmują:
1954 asMCMLIV
; 1990 jakoMCMXC
; 2014 jakoMMXIV
ŹRÓDŁO
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- W razie potrzeby dodaj również wyjaśnienie.
Przypadki testowe:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
-> M(X)CMXCIX
-> 77+263+67+77+88+67+73+88
-> 800
i 2147483647
-> ((MMCXLV)MMCDLXXX)MMMDCXLVII
-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
-> 5362
. Więc poprawiłem drugi, ale 9999
był poprawny.
2222222222
nie znajduje się w podanym zakresie. Też się zgadzam 5362
.