12. Integer to Roman 整数转罗马数字

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution:
    def intToRoman(self, num):
        """
        :type num: int
        :rtype: str
        """
        I = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']
        X = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']
        C = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']
        M = ['', 'M', 'MM', 'MMM']
        thousand = num // 1000
        houndred = (num % 1000) // 100
        ten = (num % 100) // 10
        digit = num % 10
        return M[thousand] + C[houndred] + X[ten] + I[digit]
  
  
s = Solution()
# num = 1
# num = 19
# num = 99
# num = 100
num = 409
#num = 1999
res = s.intToRoman(num)
print(res)






posted @ 2018-02-12 23:08  xiejunzhao  阅读(176)  评论(0编辑  收藏  举报