13 12罗马数字和阿拉伯数字互相转换
来源:互联网 发布:mac os 10.12.5百度云 编辑:程序博客网 时间:2024/06/05 02:05
一 罗马数字转阿拉伯数字
【罗马数字】
1~9: {“I”, “II”, “III”, “IV”, “V”, “VI”, “VII”, “VIII”, “IX”};
10~90: {“X”, “XX”, “XXX”, “XL”, “L”, “LX”, “LXX”, “LXXX”, “XC”};
100~900: {“C”, “CC”, “CCC”, “CD”, “D”, “DC”, “DCC”, “DCCC”, “CM”};
1000~3000: {“M”, “MM”, “MMM”}.
程序:
class Solution { public: int romanToInt(string s) { int ret = toNumber(s[0]); for (int i = 1; i < s.length(); i++) { if (toNumber(s[i - 1]) < toNumber(s[i])) { ret += toNumber(s[i]) - 2 * toNumber(s[i - 1]); } else { ret += toNumber(s[i]); } } return ret; } int toNumber(char ch) { switch (ch) { case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'L': return 50; case 'C': return 100; case 'D': return 500; case 'M': return 1000; } return 0; } };
二 整型数转化为罗马数字
class Solution {public: string intToRoman(int num) { string roman[4][10] = { {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}, {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}, {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}, {"", "M", "MM", "MMM"} }; string result=""; int wei=0; while(num!=0) { int aa=num%10; result=roman[wei][aa]+result; wei++; num=num/10; } return result; }};
阅读全文
0 0
- 13 12罗马数字和阿拉伯数字互相转换
- python实现阿拉伯数字和罗马数字的互相转换
- kotlin实现罗马数字和阿拉伯数字转换
- 【Leetcode-13】罗马数字转换为阿拉伯数字
- 罗马数字转换成阿拉伯数字
- 罗马数字转换为阿拉伯数字
- 阿拉伯数字转换成罗马数字
- 阿拉伯数字转换成罗马数字
- 罗马数字转换成阿拉伯数字
- 将阿拉伯数字转换为罗马数字
- 将阿拉伯数字转换为罗马数字
- 将罗马数字转换成阿拉伯数字
- 将阿拉伯数字转换成罗马数字
- 罗马数字与阿拉伯数字相互转换
- 罗马数字转换阿拉伯数字0~3999
- 经典题:罗马数字和阿拉伯数字的相互转换
- Java经典题:罗马数字和阿拉伯数字的相互转换
- leetcode-13-罗马数字转阿拉伯数字
- [转]把 MongoDB 当成是纯内存数据库来使用(Redis 风格)
- JAVA日期相关的方法总结
- PHP乱码问题,UTF-8乱码常见问题小结
- 安装vue-devtool工具
- 解决GridView在ScrollView中滑动冲突
- 13 12罗马数字和阿拉伯数字互相转换
- Oracle ROWNUM用法和分页查询总结
- Nutch介绍、体验
- 测试小故事34:奖励低效
- 欢迎使用CSDN-markdown编辑器
- 51Nod-最大字段和(动态规划)
- 静态链接库和动态链接库
- 机房效果图制作|简易制作教程赘述
- Spark性能优化——数据倾斜