URI Online Judge | 1960
Numeração Romana para Números de Página
Por M.C. Pinto, UNILA
Brazil
Timelimit: 1
A ECI (Editio Chronica Incredibilis ou Editora de Crônicas Incríveis) é muito tradicional quando se trata de numerar as páginas de seus livros. Ela sempre usa a numeração romana para isso. E seus livros nunca ultrapassam as 999 páginas pois, quando necessário, dividem o livro em volumes.
Você deve escrever um programa que, dado um número arábico, mostra seu equivalente na numeração romana.
Lembre que I representa 1, V é 5, X é 10, L é 50, C é 100, D é 500 e M representa 1000.
Entrada
A entrada é um número inteiro positivo N (0 < N < 1000).
Saída
A saída é o número N escrito na numeração romana em uma única linha. Use sempre letras maiúsculas.
def entrada():
n = int(input())
return n
def separacao(n):
u = n % 10
n //= 10
d = n % 10
n//= 10
c = n % 10
return c,d,u
def romanos(c,d,u):
roma =''
if c > 0:
#centena
if c <= 3:
roma += 'C'*(c)
elif c == 4:
roma += 'CD'
elif c == 5:
roma += 'D'
elif c > 5 and c < 9:
roma += 'D' + 'C'*(c-5)
elif c == 9:
roma += 'CM'
if d > 0:
#dezena
if d <= 3:
roma += 'X'*(d)
elif d == 4:
roma += 'XL'
elif d == 5:
roma += 'L'
elif d > 5 and d < 9:
roma += 'L' + 'X'*(d-5)
elif d == 9:
roma += 'XC'
if u > 0:
#unidade
if u <= 3:
roma += 'I'*(u)
elif u == 4:
roma += 'IV'
elif u == 5:
roma += 'V'
elif u > 5 and u < 9:
roma += 'V' + 'I'*(u-5)
elif u == 9:
roma += 'IX'
return roma
def main():
c,d,u = separacao(entrada())
print(romanos(c,d,u))
main()
Nenhum comentário:
Postar um comentário