博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
38.leetcode12_integer_to_roman
阅读量:4684 次
发布时间:2019-06-09

本文共 1689 字,大约阅读时间需要 5 分钟。

1.题目描述

Given an integer, convert it to a roman numeral.

十进制数字转为罗马数字

2.题目分析

罗马数字计数方法

基本字符
I
V
X
L
C
D
M
相应的阿拉伯数字表示为
1
5
10
50
100
500
1000
  1. 相同的数字连写、所表示的数等于这些数字相加得到的数、如:Ⅲ=3;
  2. 小的数字在大的数字的右边、所表示的数等于这些数字相加得到的数、 如:Ⅷ=8、Ⅻ=12;
  3. 小的数字(限于 I、X 和 C)在大的数字的左边、所表示的数等于大数减小数得到的数、如:Ⅳ=4、Ⅸ=9;
  4. 正常使用时、连写的数字重复不得超过三次;
  5. 在一个数的上面画一条横线、表示这个数扩大 1000 倍。

3.解题思路

1 class Solution(object): 2     def intToRoman(self, num): 3         """ 4         :type num: int 5         :rtype: str 6         """ 7         strs="" 8         x=0 9         if num>=1000: #从千位以上开始依次计算10             x=num/100011             num-=1000*x12             strs+=x*"M"13         if num>=900: 14             num-=90015             strs+="CM"16         if num>=500:17             x=(num-500)/10018             num=num%10019             strs+="D"+x*"C"20         if num>=400:21             num-=40022             strs+="CD"23         if num>=100:24             x=num/10025             num-=x*10026             strs+=x*"C"27         if num>=90:28             num-=9029             strs+="XC"30         if num>=50:31             x=(num-50)/1032             num=num%1033             strs+="L"+x*"X"34         if num>=40:35             num-=4036             strs+="XL"37         if num>=10:38             x=num/1039             num-=x*1040             strs+=x*"X"41         if num==9:42             num=043             strs+="IX"44         if num>=5:45             x=num-546             num=047             strs+="V"+x*"I"48         if num==4:49             num=050             strs+="IV"51         if num!=0:52             strs+=num*"I"53             num=054         if num==0:55             return strs

 

转载于:https://www.cnblogs.com/19991201xiao/p/8470731.html

你可能感兴趣的文章
16 乘法口诀输出
查看>>
mac 常用地址
查看>>
鼠标经过切换图片
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>
windows live writer 2012 0x80070643
查看>>
C程序的启动和终止
查看>>
asp.net web 定时执行任务
查看>>
tomcat 和MySQL的安装
查看>>
11.5 内部类
查看>>
Cosine Similarity
查看>>
浅谈JAVA集合框架
查看>>
halt和shutdown 的区别
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
render()方法是render_to_response
查看>>
u-boot启动第一阶段
查看>>
谢惠民,恽自求,易法槐,钱定边编数学分析习题课讲义23.2.3练习题参考解答[来自陶哲轩小弟]...
查看>>
北京大学2019年数学分析考研试题
查看>>
[原]quick集成spine动画
查看>>