整数转罗马数字
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。
示例 1:
输入: 3
输出: “III”
示例 2:
输入: 58
输出: “L VIII”
硬编码或者一大堆的 if else
class Solution
{
public:
string intToRoman(int num)
{
vector<string> thouand{ "", "M", "MM", "MMM" };//“”,1000,2000,3000
vector<string> hundred{ "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };//“”,100,200,300,400,500,600,700,800,900
vector<string> ten{ "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };//“”,10,20,30,40,50,60,70,80,90
vector<string> individual{ "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };//“”,1,2,3,4,5,6,7,8,9
return thouand[num / 1000] + hundred[(num % 1000) / 100] + ten[(num % 100) / 10] + individual[num % 10];
}
};