如何将整数转换为罗马数字?function romanNumeralGenerator (int) {}例如,请参见以下示例输入和输出:1 = "I"5 = "V"10 = "X"20 = "XX"3999 = "MMMCMXCIX"注意:仅支持1到3999之间的数字
3 回答

largeQ
TA贡献2039条经验 获得超7个赞
我不明白为什么每个人的解决方案都这么长,并且使用多个for循环。
function convertToRoman(num) {
var roman = {
M: 1000,
CM: 900,
D: 500,
CD: 400,
C: 100,
XC: 90,
L: 50,
XL: 40,
X: 10,
IX: 9,
V: 5,
IV: 4,
I: 1
};
var str = '';
for (var i of Object.keys(roman)) {
var q = Math.floor(num / roman[i]);
num -= q * roman[i];
str += i.repeat(q);
}
return str;
}
添加回答
举报
0/150
提交
取消