Problem
Question
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
思路
罗马数字的详细介绍请点击这里罗马数字
思路比较简单,把数字拆解为千百十个位,每个位都对应一个罗马表示,最后把所有罗马表示组合起来。
Code
class Solution {
public:
string intToRoman(int num) {
string I[] = ["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
string X[] = ["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"];
string C[] = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"];
string M[] = ["", "M", "MM", "MMM"];
return M[num/1000]+C[(num%1000)/100]+X[(num%100)/10]+I[num%10];
}
};