罗马数字规则:

1, 罗马数字共有7个,即I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和M(1000)。

罗马数字中没有“0”。

2, 重复次数:一个罗马数字最多重复3次。

3, 右加左减:

在较大的罗马数字的右边记上较小的罗马数字,表示大数字加小数字。

在较大的罗马数字的左边记上较小的罗马数字,表示大数字减小数字。

4, 左减的数字有限制,仅限于I、X、C,且放在大数的左边只能用一个。

(*) V 和 X 左边的小数字只能用Ⅰ。

(*) L 和 C 左边的小数字只能用X。

(*) D 和 M 左 边的小数字只能用C。

实现代码:

class Solution
{
public:
    int romanToInt(string s)
    {
        char c[10][10][10]={{"0","I","II","III","IV","V","VI","VII","VIII","IX"},{"0","X","XX","XXX","XL","L","LX"

,"LXX","LXXX","XC"},{"0","C","CC","CCC","CD","D",

"DC","DCC","DCCC","CM"},{"0","M","MM","MMM"}};

int num=0,i;

for(i=0;i<s.size();i++)

{

if(s[i]=='I') num+=1;

if(s[i]=='V')

{

if(i!=0 && s[i-1]=='I') num+=3;

else num+=5;

}

if(s[i]=='X')

{

if(i!=0 && s[i-1]=='I') num+=8;

else num+=10;

}

if(s[i]=='L')

{

if(i!=0 && s[i-1]=='X') num+=30;

else num+=50;

}

if(s[i]=='C')

{

if(i!=0 && s[i-1]=='X') num+=80;

else num+=100;

}

if(s[i]=='D')

{

if(i!=0 && s[i-1]=='C') num+=300;

else num+=500;

}

if(s[i]=='M')

{

if(i!=0 && s[i-1]=='C') num+=800;

else num+=1000;

}

}

return num;
    }
};

罗马数字转换成整数(注意罗马数字的大小表示问题)相关推荐

  1. python罗马数字转换,Python3.5实现的罗马数字转换成整数功能示例

    本文实例讲述了Python3.5实现的罗马数字转换成整数功能.分享给大家供大家参考,具体如下: 问题概述: 给定一个罗马数字 ,将罗马数字转换成整数. 如罗马数字I,II,III,IV,V分别代表数字 ...

  2. 计蒜课挑战难题:罗马数字转换成整数

    给定一个罗马数字s,( I<=s<=MMMCMXCIX)(即1到3999),将罗马数字转换成整数. 如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5. 格式: 第 ...

  3. 罗马数字 java_java将罗马数字转换成整数算法详解-Fun言

    题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M.字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为 ...

  4. 菜鸟扣代码第二天--leetcode13罗马数字转换成整数

    题目描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ...

  5. 【LeetCode】【Java】13. 罗马数字转整数——给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

    13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 ...

  6. c语言罗马数字换成整数,leetcode 13 罗马数字转整数 C语言

    leetcode 13 罗马数字转整数 原题 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 ...

  7. 185-将罗马数字转成整数

    题目如下: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ...

  8. 罗马数字转换成阿拉伯数字

    罗马数字转换成阿拉伯数字 Roman to integer 给出一个罗马数字(字符串),返回此数字的阿拉伯数字(int) Given a roman numeral, convert it to an ...

  9. 【C++】将罗马数字转换成阿拉伯数字

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

最新文章

  1. Android - N级树形结构实现
  2. 工作改进三步曲:简化、优化、固化
  3. 2021 年 JavaScript 大事记
  4. Selenium脚本编写技巧和窍门
  5. mysql数据库改成支持中文_修改Mysql编码支持中文
  6. python容量变化类型有哪些_python基础数据类型补充以及编码的进阶
  7. 榛子云短信-微信小程序60秒倒计时插件
  8. 用 SQL 脚本读取Excel 中的sheet数量及名称
  9. 安徽省大数据比赛——数据可视化实战
  10. IT行业,应届生找工作遇到“招转培”怎么办?
  11. (三)基于Phyphox的三线摆法测量物体转动惯量
  12. 5.5mysql_MySQL5.5-MySQL5.5下载 v5.5.60.1官方版 64位/32位-第五资源
  13. crosses initialization of “XXX”
  14. 在64位win7上面卸载IE8
  15. 动态随机存储器的刷新
  16. SAN存储和服务器虚拟化安装方案,ESX/ESXi虚拟化系统与SAN存储结构结合的配置安装流程...
  17. 聊城开发区杨广平书记一行前来酷客多小程序总部视察
  18. M1 Mac上更好的 Golang 使用方案
  19. 既有住宅加装电梯数学建模问题
  20. 【译】什么才是优秀的代码

热门文章

  1. 8年美术外包老司机现身说法:我们与游戏厂商如何更有效合作
  2. linux消耗ram内存吗,linux - 释放Ubuntu 8.04服务器上的内存(RAM) - Ubuntu问答
  3. 【转载】在IDEA 中使用 mvn install 添加本地 jar包依赖
  4. 计算机考研复试占比小的学校,赞!这所211学校复试居然只占20%!——管理科学与工程考研2021学校揭秘!...
  5. SeaJS学习之use函数
  6. MLA Review之二:决策树
  7. 安卓手机上app常驻保活方案
  8. 华为真机调试watch系列手表
  9. 计算机管理服务所有任务,电脑Windows任务管理器显示不全的5个解决方法
  10. 微博评论内容的Chatgpt 话题聚焦和情感分析 情感分析LDA主题可视化多元线性回归