13 12罗马数字和阿拉伯数字互相转换
2017-07-06 18:22
435 查看
一 罗马数字转阿拉伯数字
【罗马数字】
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”}.
程序:
二 整型数转化为罗马数字
【罗马数字】
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; } };
相关文章推荐
- 【Leetcode-13】罗马数字转换为阿拉伯数字
- Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
- leetcode 12 ,13 Integer to Roman &&Roman to Integer 罗马与阿拉伯数组转换
- 阿拉伯数字转换成罗马数字(二)
- Javascript 将阿拉伯数字转换成罗马数字
- 阿拉伯数字转换成罗马数字
- 将阿拉伯数字转换为罗马数字
- JavaScript实现阿拉伯数字和中文数字互相转换
- Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例
- 对一个罗马数字与阿拉伯数字转换算法的分析
- 罗马数字与阿拉伯数字的相互转换
- Roman to Integer:转换罗马数字到阿拉伯数字
- JavaScript实现1-4000内阿拉伯数字转换为罗马数字
- 将阿拉伯数字转换为罗马数字
- JavaScript实现阿拉伯数字和中文数字互相转换
- 将阿拉伯数字转换为罗马数字
- JavaScript实现阿拉伯数字和中文数字互相转换
- 基础001 C#读数,阿拉伯数字和中文互相转换(复制下面代码即可)
- 罗马数字转换为阿拉伯数字
- java实现中文数字与阿拉伯数字互相转换