Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
了解罗马数字构造规则即可
class Solution {
public:
string intToRoman(int num)
{
string one[11] = {"0","I","II","III","IV","V","VI","VII","VIII","IX","X"};
string ten[11] = {"0","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
string hundred[11] = {"0","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
string thousand[11] = {"0,","M","MM","MMM"};
string res = "";
if(num >= 1000)
{
int t = num/1000;
res += thousand[t];
num %= 1000;
}
if(num >= 100)
{
int t = num/100;
res += hundred[t];
num %= 100;
}
if(num >= 10)
{
int t = num/10;
res += ten[t];
num %= 10;
}
if(num)
{
res += one[num];
}
return res;
}
};