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
IIVporque existem doisIantesV) - 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,Csubtratores 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,IXdeve ser suportado, masICnão é necessário). - Entrada e saída devem ser deixadas para a direita em ordem de valor, começando pelo maior (ou seja, 19 =
XIXnã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 = 999obrigatório?
IM. Se a saída é IMou CMXCIXpara 999, é com você. Ambos se encaixam nos requisitos.