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) {
int mp[100];
int val[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
string r[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
mp['I']=1;
mp['V']=5;
mp['X']=10;
mp['L']=50;
mp['C']=100;
mp['D']=500;
mp['M']=1000;
int index=0;
string result="";
while(num>0)
{
while(num<val[index])
index++;
result=result+r[index];
num=num-val[index];
}
return result;
}
};
public:
string intToRoman(int num) {
int mp[100];
int val[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
string r[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
mp['I']=1;
mp['V']=5;
mp['X']=10;
mp['L']=50;
mp['C']=100;
mp['D']=500;
mp['M']=1000;
int index=0;
string result="";
while(num>0)
{
while(num<val[index])
index++;
result=result+r[index];
num=num-val[index];
}
return result;
}
};