罗马数字与阿拉伯数字对应关系如下:

且“II”表示2,“III”表示3,“IV”表示4,“VI表示6”,“VII”表示7,“VIII”表示8,“IX”表示9,其余的类似。

阿拉伯数转换成罗马数字

class Solution(object):def intToRoman(self, num):""":type num: int:rtype: str"""if not num:return ""out = ""i = 3while i >= 0:out += self.get_roman(i,num//(10**i))num %= (10**i)i -= 1      return outdef get_roman(self,power,quotient):power_to_roman = {0:["I","V","X"],1:["X","L","C"],2:["C","D","M"],3:["M"]}romans = power_to_roman[power]if quotient <= 3:out = quotient*romans[0]elif quotient == 4:out = romans[0]+romans[1]elif quotient == 5:out = romans[1]elif quotient <= 8:out = romans[1]+(quotient-5)*romans[0]else:out = romans[0]+romans[2]return out

罗马数字转换为阿拉伯数字:

class Solution(object):def romanToInt(self, s):""":type s: str:rtype: int"""if not s:return 0Roman_to_num = {'I':1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}before = {"V":"I","X":"I","L":"X","C":"X","D":"C","M":"C"}stack = []num = 0i = len(s)-1while i >= 0:if not stack:stack.append(s[i])else:last = stack.pop()if last in before and s[i] == before[last]:num += Roman_to_num[last] - Roman_to_num[s[i]]else:stack.append(last)stack.append(s[i])i -= 1for i in stack:num += Roman_to_num[i]return num

转载于:https://www.cnblogs.com/wenqinchao/p/10583494.html

罗马数字与阿拉伯数字转换相关推荐

  1. 银行考题,将阿拉伯数字转换成大写的汉字模式

    银行考题,将阿拉伯数字转换成大写的汉字模式 例如 123456789.01  -> 壹亿贰千叁百肆十伍万陆千柒百捌十玖元零壹分 假定:  最小到"分"  最大到 " ...

  2. python罗马数字转换阿拉伯数字_20202427-张启辰《Python3初学:罗马数字转阿拉伯数字》...

    20202427-张启辰<Python3初学:罗马数字转阿拉伯数字> 1.规则 罗马数字是古罗马使用的一种记数系统,在阿拉伯数字传入之前使用较为普遍,目前大家可能在钟表.日历.文章的排序 ...

  3. 罗马数字与阿拉伯数字的相互转换

      最近遇到一道非常有趣的题目,题目大意如下:有一个富翁在银河系里做生意,而银河系使用的是罗马数字,所以他需要一个精明能干的助手,帮助他完成罗马数字与阿拉伯数字的相互转换,题目在这个背景下衍生出交易场 ...

  4. 罗马数字与阿拉伯数字的相互转化

    题目 1 Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range fro ...

  5. python判断输入的是否为数字_python怎么判断是否为数字 将罗马数字转为阿拉伯数字,用python解...

    将阿拉伯数字转为罗马数字,用python解 class Solution(object): def intToRoman(self, num): """ :type nu ...

  6. Java实现罗马数字转换为阿拉伯数字

    Java实现罗马数字转换为阿拉伯数字 个人原创,谢谢支持 逻辑规则 实现代码 个人原创,谢谢支持 代码个人编写,实测有效,欢迎转载本文链接.https://blog.csdn.net/u0147302 ...

  7. 罗马数字 与 阿拉伯数字 互转工具类

    罗马数字 与 阿拉伯数字 互转工具类 在其它工具类上没找到,自己写了个工具类,以此记录: /*** 罗马数字工具类** @author pipizhen* @since 2023-02-03 11:4 ...

  8. 阿拉伯数字转换英文数字表示算法解析及其实现

    1.阿拉伯数字转换英文数字表示算法解析   例如:   1,111,111,111,111,111.00   1千1百1十1兆1千1百1十1亿1千1百1十1万1千1百1十1     分整数部分处理和小 ...

  9. 罗马数字和阿拉伯数字互转(源码)

    罗马数字和阿拉伯数字互转(源码) 将下面源码全部复制下来直接粘贴到html页面试一下,代码还有许多需要改进的地方,请各位大神多多指点,谢谢! <!DOCTYPE html> <htm ...

  10. c语言阿拉伯数字转换英文数字

    对于有三种或更多的结构,C语言除了用多分支选择结构else if之外,C语言还提供了switch的结构. switch语句的执行过程为:首先计算表达式的值,然后依次与常量表达式依次进行比较,若表达式的 ...

最新文章

  1. zabbix4.0使用snmp代理方式监控vcenter6.5
  2. 越线人群计数--Crossing-line Crowd Counting with Two-phase Deep Neural Networks
  3. Linux测试服务器端口号是否可以成功访问
  4. 干货 | 神经网络与深度学习精选文章汇总
  5. STM32启动文件代码解析
  6. librosa能量_librosa与python_speech_features
  7. linux 先编译 再安装,Linux下编译安装FFmpeg
  8. 智能android电视更换播放器,GitHub - qfwc258/TvPlayer: android智能电视播放器,可以播放各电视台节目,播放基于ijkplayer的实现。...
  9. 浏览器的工作原理:新式网络浏览器幕后揭秘(转)
  10. 一文带你完全掌握机器人DH参数建模(详细步骤+实例+代码)
  11. 在线购物系统后台登录界面html代码,电子商城(购物网站)html模板源码
  12. 软考高项你想知道的都在这
  13. 送示波器?送各色示波器设计!
  14. 万用表二极管档位点亮发光二极管LED
  15. UDS服务中关于服务器响应行为的实现规则
  16. 手机刷入面具_小米手机机型怎么刷入脸谱Magisk模块详细教程
  17. 并发编程之:线程池(二)
  18. 联想服务器怎么接显示器,联想笔记本连接显示器 联想笔记本外接显示器怎么设置...
  19. torch模块常用方法总结
  20. 程序员漫学英语单词——resume

热门文章

  1. 2018上半年游戏行业DDoS态势报告
  2. Nginx静态资源POST请求返回405状态
  3. JVM快速调优手册v1.0之三:内存分配策略
  4. 拖拽上传技术-----html5[转载]
  5. 常用命令2——VNC
  6. linux下NIS服务的配置
  7. 变量的数据类型和类型转换(二)
  8. Webpack4 学习笔记一初探Webpack
  9. 算法与数据结构(二)三元组矩阵行列式的计算(用递归)
  10. 数据库三大范式及五大约束