Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by Pouf
def checkio(n):
mille = n//1000
centum = (n - mille * 1000) // 100
decem = (n - mille * 1000 - centum * 100) // 10
unus = int(str(n)[-1])
roman = mille * 'M'
if centum > 8:
roman += 'CM'
elif centum > 4:
roman += 'D' + (centum - 5) * 'C'
elif centum == 4:
roman += 'CD'
else:
roman += (centum) * 'C'
if decem > 8:
roman += 'XC'
elif decem > 4:
roman += 'L' + (decem - 5) * 'X'
elif decem == 4:
roman += 'XL'
else:
roman += (decem) * 'X'
if unus > 8:
roman += 'IX'
elif unus > 4:
roman += 'V' + (unus - 5) * 'I'
elif unus == 4:
roman += 'IV'
else:
roman += (unus) * 'I'
return roman
March 12, 2014