Pages

lunes, 21 de enero de 2013

Convertir a números romanos entre 1 y 999 Codigo Fuente en Python

Problema
Determinar un algoritmo que permita convertir un número arábigo  comprendido entre  1 y 999 a números romanos

Solución

  • Entrada: 697
  • Salida:  DCXCVII
Codigo Fuente en Python
import math
Unidad=["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"]
Decena=["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]
Centena=["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"]
N=int(input("Ingresa numero entero\n"))
u= N % 10
d=int(math.floor(N/10))%10
c=int(math.floor(N/100))
if(N>=100): 
 print(Centena[c]+Decena[d]+Unidad[u])
else:
 if(N>=10):
  print(Decena[d]+Unidad[u])
 else:
  print(Unidad[N])

2 comentarios:

jose garcia dijo...

y si quiero que llegue hasta 3000, como quedaría el algoritmo?. Por favor, les agradecía su pronta respuesta su ayuda, es que mi taller ese ese mismo problema pero hasta 3000, me seria de gran ayuda, gracias.

cocodrilo astronauta dijo...

Gracias, no se me había ocurrido hacerlo de esa manera.
Saludos.

Publicar un comentario en la entrada