12. 整数转罗马数字
思路:就普通的模拟,从最大的数开始对num进行整除,然后每次更新处理后的num
class Solution {
public:
string intToRoman(int num) {
vector<pair<int ,string>> mp;
mp={{1000,"M"},{900,"CM"},{500,"D"},{400,"CD"},{100,"C"},{90,"XC"},{50,"L"},{40,"XL"},{10,"X"},{9,"IX"},{5,"V"},{4,"IV"},{1,"I"}};
int i=0;
string s="";
while(num){
if(num/mp[i].first){
while(num/mp[i].first){
s=s+mp[i].second;
num-=mp[i].first;
}
}
i++;
}
return s;
}
};```