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])

4 comentarios:

Unknown 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.

Jose Luis dijo...

gracias me salvaste esta pregunta va a entrar en mi examen

Julio dijo...

Strong as a god, wise as a king

Publicar un comentario