largeQ
我不明白为什么每个人的解决方案都这么长,并且使用多个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;}