Entrada:
Um inteiro.
Resultado:
- Primeiro converta o número inteiro para o seu numeral romano equivalente.
- Em seguida, converta cada letra maiúscula desse numeral romano em seu valor decimal ASCII / UNICODE.
- E produza a soma desses.
Exemplo:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
Algarismos romanos: Aqui está um conversor de algarismos romanos talvez útil.
Regras do desafio:
- As regras do numeral romano padrão são aplicadas, portanto, nenhuma forma alternativa é como
IIII
ou emVIIII
vez deIV
eIX
. * - As linhas de Macron acima dos algarismos romanos anteriores a 1.000 são
¯
(UNICODE nº 175). Portanto, uma linha conta como+175
e duas como+350
. - Você tem permissão para usar qualquer tipo de entrada e saída, desde que represente os números inteiros.
- Os casos de teste estarão no intervalo de
1 - 2,147,483,647
.
* Regras do numeral romano (citação da Wikipedia):
Os números são formados pela combinação de símbolos e pela adição de valores, assim
II
como dois (dois) eXIII
treze (dez e três). Como cada numeral tem um valor fixo, em vez de representar múltiplos de dez, cem e assim por diante, de acordo com a posição, não há necessidade de zeros de "manutenção de lugar", como em números como 207 ou 1066; esses números são escritos comoCCVII
(duas centenas, um cinco e dois) eMLXVI
(mil, cinquenta, dez, cinco e um).Os símbolos são colocados da esquerda para a direita em ordem de valor, começando pelo maior. No entanto, em alguns casos específicos, para evitar que quatro caracteres sejam repetidos em sucessão (como
IIII
ouXXXX
), a notação subtrativa é frequentemente usada da seguinte maneira:
I
colocado antesV
ouX
indica um a menos, então quatro éIV
(um a menos de cinco) e nove éIX
(um a menos de dez)X
colocado antesL
ouC
indica dez a menos, então quarenta éXL
(dez a menos de cinquenta) e noventa éXC
(dez a menos de cem)C
colocado antesD
ouM
indica cem menos, então quatrocentos éCD
(cem menos que quinhentos) e novecentos éCM
(cem menos que mil)
Por exemplo,MCMIV
é mil novecentos e quatro, 1904 (M
é mil,CM
é novecentos eIV
é quatro).Alguns exemplos do uso moderno de algarismos romanos incluem:
1954 asMCMLIV
; 1990 asMCMXC
; 2014 comoMMXIV
SOURCE
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - Aplicam-se regras padrão à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados, programas completos. Sua chamada.
- Lacunas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código.
- Além disso, adicione uma explicação, se necessário.
Casos de teste:
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
e 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
. Então eu corrigi o segundo, mas o 9999
estava correto.
2222222222
não está no intervalo especificado. Também concordo 5362
.