Crie uma calculadora básica para algarismos romanos.
Exigências
- Suportes
+
,-
,*
,/
- A entrada e a saída devem esperar apenas um prefixo de subtrator por símbolo (ou seja, 3 não pode ser
IIV
porque existem doisI
antesV
) - Manipulação do princípio da subtração na entrada e obrigação de saída em suporte mínimo modernas convenções padrão, em que apenas potências de dez são subtraídos números maiores (por exemplo
I
,X
,C
subtratores são necessários, mas nãoV
,L
,D
) e subtração nunca é feito a partir de um número de mais de 10x o subtrator (por exemplo,IX
deve ser suportado, masIC
não é necessário). - Entrada e saída devem ser deixadas para a direita em ordem de valor, começando pelo maior (ou seja, 19 =
XIX
nãoIXX
, 10 é maior que 9) - Da esquerda para a direita, sem precedentes de operador, como se você estivesse usando uma calculadora manual.
- Suporta números positivos inteiros de entrada / saída entre 1-4999 (sem necessidade de V̅)
- Nenhuma biblioteca que faça a conversão de números romanos para você
Para você decidir
- Sensibilidade a maiúsculas e minúsculas
- Espaços ou nenhum espaço na entrada
- O que acontece se você obtiver uma saída decimal. Truncar, sem resposta, erro, etc.
- O que fazer com a saída que você não pode lidar. Negativos ou números muito grandes para serem impressos.
- Se deve apoiar um uso mais liberal do princípio da subtração do que o requisito mínimo.
Crédito extra
- -50 - Manuseie até 99999 ou maior. Os símbolos devem incluir um vinculo
Entrada / saída de amostra
XIX + LXXX (19+80)
XCIX
XCIX + I / L * D + IV (99+1/50*500+4)
MIV
O código mais curto vence.
IM = 999
obrigatório?
IM
. Se a saída é IM
ou CMXCIX
para 999, é com você. Ambos se encaixam nos requisitos.