Menu
CoddyTech

Integer to Roman

Os numerais romanos têm sete letras: M 1000, D 500, C 100, L 50, X 10, V 5 e I 1. As letras vão da maior para a menor e seus valores são somados, então 7 é VII. Nenhuma letra se repete quatro vezes seguidas: 4, 9, 40, 90, 400 e 900 são escritos como IV, IX, XL, XC, CD e CM; nesses casos, uma letra menor é subtraída da maior que vem depois dela. Somente esses seis pares colocam uma letra menor primeiro.

Dado um inteiro num, retorne seu numeral romano.

Função

intToRoman(num: integer) → string
numinteger
um número inteiro de 1 a 3999
Retornastring
o numeral romano de num em letras maiúsculas

Restrições

  • 1 ≤ num ≤ 3999

Exemplos

Entrada
num = 49
Saída
"XLIX"
Explicação
49 é 40 + 9, então o numeral é XL seguido de IX: XLIX. IL não é permitido, porque I só subtrai em IV e IX.
challenge icon

Para ir além

Dada uma string, você consegue verificar se ela é um numeral romano nessa forma padrão, aceitando XLIX e rejeitando IIII, IL e VX?

Redefinir código
def intToRoman(num):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

num = 49

Saída Esperada

"XLIX"