Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
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 ret = "";
int digit = 0;
while (num != 0) {
int remain = num % 10;//最低位
ret = roman[digit][remain] + ret;
digit++;
num /= 10;//除去最低位
}
return ret;
}
};
int main()
{
int n = 3999;
Solution sol;
string t = sol.intToRoman(n);
cout << t << endl;
system("pause");
return 0;
}