LeetCode 12. Integer to Roman
来源:互联网 发布:windows phone8.1刷机 编辑:程序博客网 时间:2024/06/01 10:20
题目描述
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
题目解析
将阿拉伯数字转换为罗马数字。
罗马数字表示方法:
I-1,X-10,C-100,M-1000;
V-5,L-50,D-500;
1. 相同的数字连写、所表示的数等于这些数字相加得到的数、如:Ⅲ=3;
2. 小的数字在大的数字的右边、所表示的数等于这些数字相加得到的数、 如:Ⅷ=8、Ⅻ=12;
3. 小的数字、(限于 Ⅰ、X 和 C)在大的数字的左边、所表示的数等于大数减小数得到的数、如:Ⅳ=4、Ⅸ=9;
4. 正常使用时、连写的数字重复不得超过三次;
5. 在一个数的上面画一条横线、表示这个数扩大 1000 倍。
所以可以将罗马数字也视为十进制数。
代码
class Solution {public: string intToRoman(int num) { vector<vector<string> >dig = { {"","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 roman; roman.append(dig[3][num/1000%10]); roman.append(dig[2][num/100%10]); roman.append(dig[1][num/10%10]); roman.append(dig[0][num%10]); return roman; }};
0 0
- LeetCode 12. Integer to Roman
- [LeetCode]12.Integer to Roman
- LeetCode --- 12. Integer to Roman
- [Leetcode] 12. Integer to Roman
- [leetcode] 12.Integer to Roman
- leetcode 12. Integer to Roman
- leetcode 12. Integer to Roman
- [LeetCode]12. Integer to Roman
- leetcode 12. Integer to Roman
- LeetCode *** 12. Integer to Roman
- LeetCode 12. Integer to Roman
- leetcode 12. Integer to Roman
- leetcode 12. Integer to Roman
- Leetcode 12. Integer to Roman
- [Leetcode] 12. Integer to Roman
- leetcode 12. Integer to Roman
- 【leetcode】12. Integer to Roman
- Leetcode-12. Integer to Roman
- 关于CPU内部的各种寄存器
- Linux中用守护进程检测程序运行
- Linux之------进程间通信
- 快速排列
- 关于JavaScript的namespace命名空间
- LeetCode 12. Integer to Roman
- 简图记录-git的基本使用
- SQL 优化
- 分享8年开发经验,浅谈java程序员职业规划
- 将web项目发布到Tomcat 服务器上的三种方法
- 怎么样创建软链接和硬链接
- nio整理
- CENTOS 7.2 下 安装 MYSQL 5.6的一种方法
- 【前端新手之路第六天】表格与表单