题目来源:
leetcode题目,网址:12. 整数转罗马数字 - 力扣(LeetCode)
解题思路:
从大到小枚举所有可能出现得罗马数字,按需添加至结果中即可。
解题代码:
class Solution {
public:
string intToRoman(int num) {
string res;
vector<int> worth={1000,900,500,400,100,90,50,40,10,9,5,4,1};
vector<string> str={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
for(int i=0;i<worth.size();i++){
for(int j=0;j<num/worth[i];j++){
res+=str[i];
}
num=num%worth[i];
}
return res;
}
};
总结:
官方题解给出了两种解法。第一种是模拟。第二种是枚举,列出当前位上数字 与罗马数字间的对应关系后。