给定一个整数,将其转换成罗马数字。
返回的结果要求在1-3999的范围内。
样例
4
-> IV
12
-> XII
21
-> XXI
99
-> XCIX
class Solution {
public:
string intToRoman(int n) {
vector<string>v1={"","I","II","III","IV","V","VI","VII","VIII","IX"};
vector<string>v2={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
vector<string>v3={"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
vector<string>v4={"","M","MM","MMM"};
string res;
for(int i=1;i<=4;i++){
int bit=n%10;
switch(i){
case 1:
res=v1[bit]+res;
n=n/10;
break;
case 2:
res=v2[bit]+res;
n=n/10;
break;
case 3:
res=v3[bit]+res;
n=n/10;
break;
case 4:
res=v4[bit]+res;
n=n/10;
break;
}
}
return res;
}
};