每天一道leetecode:12、整數轉羅馬數字(medium)

????????這是中等題目?????????

感覺這就是個基本的簡單題,沒有任何難度,只要把各種情況羅列一下就可以了。

'''
1、4、5、9、 I、IV、V、IX
10、40、50、90、X、XL、L、XC
100、400、500、900、1000 C、CD、D、CM、M、
'''
def intToRoman(num):

    if num == 4:
        return 'IV'
    elif num == 9:
        return 'IX'
    elif num == 40:
        return 'XL'
    elif num == 90:
        return 'XC'
    elif num == 400:
        return 'CD'
    elif num == 900:
        return 'CM'
    else:
        s = ''
        while num > 0:
            if num >= 1000:
                num -= 1000
                s += 'M'
            elif num >= 900:
                num -= 900
                s += 'CM'
            elif num >= 500:
                num -= 500
                s += 'D'
            elif num >= 400:
                num -= 400
                s += 'CD'
            elif num >= 100:
                num -= 100
                s += 'C'
            elif num >= 90:
                num -= 90
                s += 'XC'
            elif num >= 50:
                num -= 50
                s += 'L'
            elif num >= 40:
                num -= 40
                s += 'XL'
            elif num >= 10:
                num -= 10
                s += 'X'
            elif num >= 9:
                num -= 9
                s += 'IX'
            elif num >= 5:
                num -= 5
                s += 'V'
            elif num >= 4:
                num -= 4
                s += 'IV'
            elif num >= 1:
                num -= 1
                s += 'I'

    return s

for i in range(2000):
    print('i = ',i,' 對應 = ',intToRoman(i))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章