[leetcode]Integer to Roman

来源:互联网 发布:淘宝网的交易模式分析 编辑:程序博客网 时间:2024/04/29 23:48
题目:

Given an integer, convert it to a roman numeral.

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

链接:https://oj.leetcode.com/problems/integer-to-roman/

描述:把整形转化为罗马数字

solution by python:

class Solution:    # @return a string    def intToRoman(self, num):        numDict= {0:'',1:'I',5:'V',10:'X',50:'L',100:'C',500:'D',1000:'M'}        x = num; p=1        while x > 0:            x /= 10            if x>0: p*=10        ans = ''        while p>0:            s = numDict[p]            n = num/p            if n<4: ans += s*n            elif n==4: ans += s+numDict[5*p]            elif n==5: ans += numDict[5*p]            elif n<9: ans += numDict[5*p]+s*(n-5)            elif n ==9: ans += s+numDict[10*p]            num %= p            p /= 10        return ans


0 0
原创粉丝点击